VS.NET 2003 "不可恢复的生成错误"错误信息

       在做ONLINE项目的时候遇到这个问题,发现自己想把WEB应用程序打包无法实现,老是报“不可恢复的生成错误信息”,遍搜GOOGLE以后得到这个答案:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;329214

症状

当您试图生成在 Visual Studio .NET 中创建的安装和部署项目时,您可能会收到以下错误信息:
Unrecoverable build error

原因

通常,发生此问题的原因有以下几种:
在 Visual Studio .NET 开发环境中,打开了多个窗口。
在您的 Visual Studio .NET 项目中,有多个文件夹同名。
注册表中的一些接口注册丢失。
在注册表中,Mergemod.dll 没有注册,或者注册了不完整的 Mergemod.dll 版本。
您从 Visual Studio .NET 的 Beta 2 版本升级到了发行版。

解决方案

多个打开的窗口
要解决此问题,请关闭其中的一些窗口,然后再次尝试生成该安装项目。
多个文件夹同名
要解决此问题,请为 Visual Studio .NET 项目中的各个文件夹分别指定一个唯一的名称。
注册丢失
警告:注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为注册表编辑器使用不当而产生的问题。使用注册表编辑器需要您自担风险。


要解决此问题,请在注册表中导入或手动添加丢失的信息。为此,请按照下列步骤操作:
1.单击“开始”,然后单击“运行”。在“打开”文本框中,键入 regedit,然后单击“确定”以启动注册表编辑器。
2.添加下列注册表项:
HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}
将此项的默认值设置为 IEnumVARIANT
HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/NumMethods
将此项的默认值设置为 7
HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/ProxyStubClsid
将此项的默认值设置为 {00020421-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT/Interface/{00020404-0000-0000-C000-000000000046}/ProxyStubClsid32
将此项的默认值设置为 {00020421-0000-0000-C000-000000000046}
Mergemod.dll 未正确注册
要解决此问题,请再次注册 Mergemod.dll。通常,Mergemod.dll 位于以下文件夹中:
C:/Program Files/Common Files/Microsoft Shared/MSI Tools/Mergemod.dll
要注册 Mergemod.dll,请在命令提示符处键入以下命令,然后按 ENTER 键:
regsvr32 "C:/Program Files/Common Files/Microsoft Shared/MSI Tools/mergemod.dll"
从 Visual Studio .NET 的 Beta 2 版本升级
要解决此问题,请删除 Visual Studio .NET 的 Beta 2 版,然后重新安装发行版。 有关如何删除 Visual Studio .NET Beta 版的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
312383 HOW TO:删除 Visual Studio .NET Beta 版和 Release Candidate 版

状态

这种现象是设计使然。

更多信息

重现问题的步骤

要重现在 Mergemod.dll 未正确注册时所发生的现象,请遵循下列步骤:
1.单击“开始”,然后单击“运行”。
2.在“打开”文本框中,键入以下命令,然后单击“确定”:
regsvr32 /u "C:/Program Files/Common Files/Microsoft Shared/MSI Tools/mergemod.dll"
3.启动 Visual Studio .NET。在“文件”菜单上,指向“新建”,然后单击“项目”。
4.在“项目类型”下,单击“安装和部署项目”。在“模板”下,单击“安装项目”。单击“确定”。
5.在“生成”菜单上,单击“生成解决方案”。
重要说明:重现该现象后,请遵循“解决方法”部分中的步骤再次注册 Mergemod.dll。

参考

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
320426 PRB:"This Setup Does Not Contain the .NET Framework" Error Message During Visual Studio .NET Deployment
307353 HOW TO:Create a Setup Package by Using Visual Studio.NET

        但是还是没有解决,我每项都试过了,我检查了注册表,重新注册了MERGEMOD.DLL,还是不行,后来想到是不是我的MERGEMOD.DLL有问题,从别人可以打包的机器上拷来该文件,发现正常机器上的这个DLL只有137K,而我的机器上这个文件有140K,用别人的DLL覆盖我的机器,再注册,BG!可以了!。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值