首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>开发工具>Visual Studio2005解决发布程序集问题办法
Visual Studio2005解决发布程序集问题办法
来源: 发布时间:2007-10-23 发布人: 浏览: 人次   字体: [ ]  
本文主要解决ASP.NET 2.0网站生成一个程序集。在使用WebDeploymentProject后出现的错误的解决办法。特别是生成时报索引超出了数据界限的错误。我也找了网上很多的资料,但最终还是没有解决,后来自己试了很久才试出来。欢迎大家交流指导。

  近来使用VS2005做项目,VS2005中发布网站时默认发布很多乱七八糟的程序集,这给升级网站时造成很大麻烦。去网上找了一下可以使用WebDeploymentProject的插件进行单个程序集的发布

  下载地址http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi

  详细使用帮助请查看:

  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/web_deployment_projects.asp

  安装完毕以后,测试一下真的很不错。关连的程序集的更新也可以随时更新,这可比vs2003强多了。vs2003有改一个引用的程序集就要更新所有的,不会就会说版本不对。

  但用到正式的项目的时候却出现了问题。特别是升级上来的项目就可能存在下列问题。

  碰到错误首先要把错误的详细信息输出来看看

  操作方法:

  VS 2005的工具菜单-选项-项目和解决方案-生成并运行,设置“MSBuild 项目生成输出详细信息”,选择“详细”。然后再生成Web Deployment Projects项目,查看“输出”对话框内的信息,就可以查看到详细的导致无法编译的问题。

  错误一:报错误:“aspnet_merge.exe已退出,代码为1”

  有两种情况,一种是 An error occurred when merging assemblies: 索引超出了数组界限。

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

  到网上查了好久,有说是自定义属性的描述中有中文的缘故,比如[WebMethod(Description="测试方法")]这样子,可是我写一个测试的根本跟这个就没有什么关系。查了好久久还是未果,只好自己动手删除文件来测试了。

  解决过程:

  几乎把所有的文件都删除了,还是不行,后来才发现原来是因为AssemblyInfo.cs文件中有中文的问题。把所有的中文去掉即可。

  解决办法:

  普通的Web项目

  把AssemblyInfo.cs文件中所有的中文字都删除掉。注释可以不删除,然后再编译即可

  包括WebService的服务页的项目

  对于包括有webservice的页面则要检查Description是否有超过15个汉字的说明,如果超过就改短一点。这样就可以了。我还试了一下中英文组合的情况,非常奇怪的是,我用14个汉字加上两个英文可以,加上三个英文也可以,加上四个就不行了。后来我更狠一点。用一百多个英文字加两三个汉字也可以,到现在还没有搞明白是怎么回事,不过有一点可以确定的是,中文字不要超过15个,否则就会报“索引超出了数组界限”的错误。

  还有一种错误是:Duplicate type ’_Default’ found in assembly

  解决办法:

  看字面意思就明白原因了,就是一个程序集里发现了两个类名一样的类,这样肯定是不行的,但编译的时候又会过,因为放在不同的目录,VS2005就可以编译过了,真不明白vs2005是为什么要这么设计,因为vs2005在新建页面的时候没有把命名空间加上去,所以都是同一个命名空间下所以才会这样,VS 2005的WEB项目默认的把命名空间给去掉了,只能手动增加一个命名空间,在cs文件代码中加入namespace的语句块,同时也在修改aspx文件的<@page>的Inherits中写入对应的[namespace].[类名];

  其实这个问题类似于vs2003中的发布问题。如果项目中有两个文件名一样的情况也会报错,比如有两个help.aspx文件分别在不同的目录,或者a.gif文件在不同的目录也会报错。

  第二个错误一般是作过文件移动后在原位置又建立了同名文件,或在不同目录下移动文件而不是新建文件造成的 建立文件时,会自动以 folder_file 格式命名类,移动之后这个名字不会变,原位置再建立一个的话,问题就来了 这本来就是不合法的,但这次VS的容错有点过分了。


相 关 文 章   发布商链接
·如何解决不能在Web启动调试
·解决VISTA下安装VS 2005需要先安装XP...
·去掉VS.NET项目中的VSS代码控制二法
·IIS常见配置问题列表
·装VS2003遇到的问题:此计算机上缺少...
·BugFree在Windows Server 2003+IIS 6...
·图解在VS2005利用NUnit进行测试
·nant是什么及其nant使用入门
·图解vs2008 silverlight做的hellowor...
·如何在ASP.NET或Winform(C#)开发代码...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·详解SourceOffsite的安装配置
·图解VS2005制作Web打包安装程
·VS2005无法调试javascript脚...
·vs2005脚本注册过时问题解决...
·实例讲解VS2005的复制网站功...
·vs2005sp1补丁安装心得
·如何在ASP.NET或Winform(C#)...
·图解vs2008 silverlight做的h...
·nant是什么及其nant使用入门
·图解在VS2005利用NUnit进行测
·BugFree在Windows Server 200...
·装VS2003遇到的问题:此计算...
·IIS常见配置问题列表
·去掉VS.NET项目中的VSS代码控
·解决VISTA下安装VS 2005需要...
热 门 文 章
·图解VS2005制作Web打包安装程...
·VS.NET2005安装部署之实战图...
·图解在VS2005利用NUnit进行测...
·图解vs2008 silverlight做的h...
·BugFree在Windows Server 200...
·nant是什么及其nant使用入门
·解决VISTA下安装VS 2005需要...
·如何在ASP.NET或Winform(C#)...
·实例讲解VS2005的复制网站功...
·VS2005无法调试javascript脚...
·装VS2003遇到的问题:此计算...
·vs2005sp1补丁安装心得
·vs2005实现将自己的代码自动...
·IIS常见配置问题列表
·如何解决不能在Web启动调试
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .