以前在做.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