visual-studio - 找不到所需的文件 'setup.bin'

标签 visual-studio .net-4.0

我无法在 VS2010 中为 Windows 服务项目构建安装项目。它因以下错误而失败:

Could not find required file 'setup.bin' in 'C:\MyProject\Engine'.

我的环境是Windows 7 Professional x64Visual Studio 2010版本10.0.40219.1 SP1Rel

我已经下载了Microsoft Windows SDK for Windows 7 and .NET Framework 4 ,修复,然后重新启动,然后安装除Visual C++编译器之外的未选中的组件,然后安装KB2519277 .

这些是现有的注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\3.5
    Path = c:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\4.0
    Path = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\

这些是现有文件:

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Engine\setup.bin

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.bin

现有的解决方法是将 Engine 目录复制到项目目录,但是每次创建新项目时都必须执行此操作。

如何正确修复此问题?

最佳答案

通过进程监视器,我发现在尝试访问该路径之前,会使用 DLL 来检索该路径。以下内容可能有点合法,但我还是想分享我的发现。

该DLL位于C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll,所使用的类是 Microsoft.Build.Tasks.Deployment.Bootstrapper.BootstrapperBuilder。使用您最喜欢的反汇编工具,您可以发现最终进行了三次尝试来检索路径。

  1. HKLM\Software\Microsoft\GenericBootstrapper\11.0\Path
  2. HKLM\Software\Wow6432Node\Microsoft\GenericBootstrapper\11.0\Path
  3. Environment.CurrentDirectory

我不确定为什么它说11.0,据我所知,VS 2012 以前没有安装在这台机器上。

所以 SDK 安装程序中存在错误,或者 DLL 中存在错误。无论哪种方式,创建 11.0 注册表项并添加该值都可以解决此问题。注意:必须重新启动 Visual Studio,因为在尝试检索路径后,它会被缓存。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\11.0]
"Path"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bootstrapper\\"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\11.0]
"Path"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bootstrapper\\"

关于visual-studio - 找不到所需的文件 'setup.bin',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139538/

相关文章:

.net-4.0 - 嵌套并行查询

asp.net-mvc-2 - 我应该在MVC View 中使用Url.Content()还是ResolveUrl()?

c# - 使用表达式树映射?有可能实现吗?

c# - PostSharp OnMethodBoundaryAspect OnEntry 未执行

visual-studio - 与 Unity 3D 一起使用时,Visual Studio 中缺少添加引用 - 需要 Npgsql.dll

c# - 在 Visual Studio 2008 中为 .Net 托管应用程序从 WinDbg 调试 .dmp 文件

visual-studio - 保护自己的开发人员的代码

c# - 如何使用 Visual Studio + ReSharper 禁用不需要的自动完成功能?

.net - 实现 View 模型以反射(reflect)基本模型?

android - Xamarin 初学者 + 独立 VS 2015