解决错误问题 error MSB6006: "aspnet_merge.exe" exited with code 1


解决错误问题 error MSB6006: "aspnet_merge.exe" exited with code 1.

转自:http://www.vbchina.net/asp.net/article/2049.html

 

关键字:VS2005,Web安装程序,部署,发布网站,安装项目,WEB安装项目

用VS2005写好的一个网站程式,想做个安装包给客户安装,搞了两天,问题还是一个接一个。

这两天给VS2005 发布网站问题搞的头的大了,问题一个接一个,怎么感觉微软的软件开发越来越麻烦了,VS2003的时候发布还想顺利,但到了VS2005为什么搞的越来越麻烦呢,真想不通,应该越来越好才对啊。真(*……#*·)

 

回到错误问题来,利用“Web Deployment"插件的生成时,在缺省的情况下,你就看到一条错误信息:

"aspnet_merge.exe" exited with code 1.

 

所以我们要看详细一点的错误信息就要设置一下生成条件了。

菜单--Tools(工具)-->Options(选项)--> Projects and Solutions --> Build and Run

在 MSBuild project build output verbosity 列表里选择 Detailed.

这样再生成就出现很详细的错误信息出来了,如下:

 

An error occurred when merging assemblies: ILMerge.Merge: ERROR!!: Duplicate type 'Employees' found in assembly 'App_Web_6deww_pj'.
C:/Program Files/MSBuild/Microsoft/WebDeployment/v8.0/Microsoft.WebDeployment.targets(474,9): error MSB6006: "aspnet_merge.exe" exited with code 1.
Done executing task "AspNetMerge" -- FAILED.
Done building target "AspNetMerge" in project "vbchina.net_deploy.wdproj" -- FAILED.

Done building project "vbchina.net_deploy.wdproj" -- FAILED.

Build FAILED.

 

看信息:Duplicate type 'Employees' found in assembly 'App_Web_6deww_pj'  这样我一下就想起来,当时是因为COPY了做好的Employees 页面文件用别的页面用了,当时就改了文件名,因为网站生成时没有报错,所以一直都没有改,想不到用这个Web Deployment 插件时出现了问题。

 

用查找找“Employees",发现有好几个地方都用了Employees名字,如下面的页头信息一个,文件名和类名不一样。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Reports.aspx.vb" Inherits="Employees" %>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="VipCodes.aspx.vb" Inherits="Employees" %>

 

把类名和文件名改为一样,再生成就没有错误了。

 

你可能感兴趣的:(ASP.NET)