你现在的位置:首页>>WEB编程>>ASP.NET >>“aspnet_merge.exe”已退出,代码为 1。 C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\Microsoft.WebDeployment.targets 474 9

“aspnet_merge.exe”已退出,代码为 1。 C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\Microsoft.WebDeployment.targets 474 9

更新时间:2009-9-26 17:51:36   浏览次数:977
关键词:“aspnet_merge.exe”已退出   Add Web Deployment Project   WebDeployment Project   

以前在做.NET项目时,都是用的VS2995里的默认生成方式,每次生成的DLL文件都有个随机字符串,每次项目改一点东西,都要把整个项目上传才行。否则其他地方就不能使用,很郁闷。

后来听说微软提供了一个插件,可以把整个项目生成一个自己指定的文件名。所以今天就去下载了试了下。

可生成项目时,总出现如下错误。
“aspnet_merge.exe”已退出,代码为 1。 C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\Microsoft.WebDeployment.targets 474 9


打开Microsoft.WebDeployment.targets文件都我看不懂的代码,所以到网上找了找

经过搜索,说出现这样的错误主要有两个方面的错误:
一是 An error occurred when merging assemblies: 索引超出了数组界限。
解决办法:是删除webservice里的中文。
二是 Duplicate type '_Default' found in assembly  
解决办法是:修改CS文件同名类

可我看我的错误提示,一个都对不上。不管,两种方法都来解决一下。

第一种,一看我没有用任何webservice,没办法,放弃。
第二种,查看所有类,有没有同名的,查了大半天,改了个同名的类,主要是在写程序时,一些差不多的功能,直接复制的,所以类的名字相同。

例如:
有两个页面A.aspx 、B.aspx

(1)A.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="A.aspx.cs" Inherits="AC" %>

(2)B.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="B.aspx.cs" Inherits="AC" %>

两者的CodeFile不同,但Inherits相同,即.cs文件中的类名称相同

这样是不可以的,修改为不同的类名称就好了

全改成不同的。


再次生成,OK
 

随机推荐文章
CopyRight © 2008-2010  糊涂蛋技术网   苏ICP备05013073号
站长:xlxcn QQ:54960248  三郎 QQ:120554323   E-mail:xlxcn#126.com