错误MSB3147:找不到所需的文件' setup.bin'发布到本地FAILURE

时间:2017-02-28 02:27:16

标签: .net windows visual-studio powershell msbuild

在浏览互联网并讨论in chat here之后,我终于提出了一个关于旧错误的新问题。

我在Windows 10上使用Visual Studio Enterprise 2015。

关于这方面的问答来自2011年 MSBuild: error MSB3147: Could not find required file 'setup.bin'

这个问题和接受的答案是在2012年写的,其他答案来自2015年,其中一个来自2016年,这是没有用的 Could not find required file 'setup.bin'

该项目的目标构建是4.0。我正在运行仅从另一台本地计算机运行的psl脚本。

我一直收到这个错误:

  

C:\ Program Files   (86)\的MSBuild \ 12.0 \ BIN \ Microsoft.Common.CurrentVersion.targets(4769,5):   错误MSB3147:找不到所需的文件' setup.bin'在   ' C:\ dev的\ XXX \ SRC \ XXX \引擎&#39 ;. [C:\ dev \ xxx \ src \ xxx \ xxx.csproj]发布   本地故障

我已经尝试过每个答案的每个解决方案。唯一有效的是this answer

<BootstrapperEnabled>false</BootstrapperEnabled> 

如果需要将其设置为true,则会出现问题。

我也跟着this answer on MSDNThis blog

我添加了注册表项:

enter image description here

enter image description here

我还注意到Windows 10内置了.NET框架,并且它错过了4.0。

enter image description here

我卸载了dotNetFx40_Full_setup.exe并在Visual Studio上运行修复,以允许它根据需要安装sdks。这没有用。

我有一个MSBuild exe,应该是according to this

enter image description here

我想知道是不是因为我错过了.NET sdk 4.0。 它是bootstrapper的版本吗? 我不知道如何解决它。有谁知道如何在Windows 10上解决这个问题?

1 个答案:

答案 0 :(得分:4)

  

引导程序负责初始化   使用Composite Application Library构建的应用程序。

设置<BootstrapperEnabled>false</BootstrapperEnabled>时,将忽略构建的应用程序的初始化。如果将其设置为true,则将执行初始化,然后您将收到该错误“MSB3147:找不到所需文件&#39; setup.bin&#39;”。

根据您的描述和图片,我发现您拥有MSBuild 12.0,但是将GenericBootstrapper的值添加到MSBuild 4.0注册表项中。

  

从Visual Studio 2013开始,MSBuild Toolset版本就是   与Visual Studio版本号相同。

因此,请检查版本为12.0的GenericBootstrapper的注册表值。 如果该值不存在或不正确,请添加值“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ Bootstrapper”。 enter image description here