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

Visual Studio注册表捕获实用程序已停止工作…. http://easycaptures.com/fs/uploaded/256/9376236710.png

Windows 7每次编译项目时都会显示如下所示的构建错误。

从Microsoft Connect :

  1. 在此处找到regcap.exe:C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ Tools \ Deployment
  2. 右键单击并选择属性。
  3. 选择Compatibility选项卡
  4. 复选框以兼容模式运行此程序。
  5. 在操作系统下拉列表中选择Windows Vista SP2,以管理员身份运行。
  6. 单击“确定”并重新编译。

此解决方案也适用于带有Visual Studio 2008(32位版本)的Windows 7,在第5步中,您只需选中“以管理员身份运行此程序”的最后一组“权限级别”复选框

来自Add-In-Express的另一个原因:

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

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

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

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

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

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

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