Visual Studio注册表捕获实用程序已停止工作,在Windows7中编译C#项目时出错

时间:2010-02-25 12:44:49

标签: c# .net visual-studio windows-7 compiler-errors

6 个答案:

答案 0 :(得分:48)

From Microsoft Connect

  1. 在此处找到regcap.exe:C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ Tools \ Deployment
  2. 右键单击并选择属性。
  3. 选择“兼容性”标签
  4. 复选框以兼容模式运行此程序。
  5. 在操作系统下拉列表中选择Windows Vista SP2并以管理员身份运行。
  6. 单击“确定并重新编译”。
  7. 此解决方案也适用于带有Visual Studio 2008(32位版本)的Windows 7,在第5步中,您只需选中“权限级别”的最后一个组框中的复选框“将此程序作为管理员“

答案 1 :(得分:4)

另一个原因From Add-In-Express

  • 长路径(缓冲区溢出?)。这是我的情况:我在一个带有长路径的安装项目中有* .tlb,我将其排除并编译好。

答案 2 :(得分:1)

我在Windows 7 64位上使用VS 2008遇到了这个构建一个MSI项目。问题是引用Microsoft.InteropFormTools.tlb并且必须可以从VB 6通过COM调用的程序集。 Visual Studio将类型库的Registry属性默认为vsdrfCOMSelfReg。将其更改为vsdrfDoNotRegister解决了这个问题。

提示:在构建/重建处理期间注意“输出”窗口。关闭RegCap程序后,我看到了以下警告:

注意:无法为名为“Microsoft.InteropFormTools.tlb”的文件创建注册信息

答案 3 :(得分:1)

如果有人在Visual Studio 2015中遇到此问题,则regcap的路径现在是C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ bin。

答案 4 :(得分:0)

当我尝试向我的项目添加一个类时,我也遇到了这个错误,该项目之前已被编译为添加为引用的外部DLL。我将该类添加到项目中,但忘记删除对DLL的引用。删除对外部组件的引用解决了问题,并且不再出现此错误消息。

答案 5 :(得分:-1)

FYI, 如果您的项目不需要构建64位,则可以使用32位构建它。 1.在Window XP的兼容模式下运行Visual Studio: +右键单击Visual studio图标 +选择属性 +在“兼容性”选项卡中,选中“在W​​indows XP SP3的兼容模式下运行此程序”,然后选中“以管理员身份运行此程序” 2.转到配置管理器并在X86模式下调试项目