错误MSB3147:找不到所需的文件“setup.bin”发布到本地失败

在网上冲浪和讨论这个问题之后 ,我终于问了一个关于旧错误的新问题。

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

这个问题和答案是从2011年MSBuild:错误MSB3147:无法find所需的文件“setup.bin” 。

这个问题和接受的答案是在2012年写的,其他答案是从2015年,有一个从2016年,这是没有帮助无法find所需的文件“setup.bin” 。

该项目的目标版本是4.0。 我正在运行一个只能从另一台本地机器运行的psl脚本。

我不断收到这个错误:

C:\ Program Files \(x86)\ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets(4769,5):错误MSB3147:找不到需要的文件'setup.bin' SRC \ XXX \引擎”。 [C:\ dev \ xxx \ src \ xxx \ xxx.csproj]发布到本地失败

我已经尝试了每个答案的每个解决scheme。 唯一的作品是从这个答案

<BootstrapperEnabled>false</BootstrapperEnabled> 

如果需要设置为true,那么这是一个问题。

我也在MSDN上跟着这个答案 。 这个博客 。

我添加了registry项:

在这里输入图像说明

在这里输入图像说明

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

在这里输入图像说明

我已经卸载了dotNetFx40_Full_setup.exe,并在Visual Studio上运行了修复程序,以便根据需要安装sdks。 这没有帮助。

我有一个MSBuild的exe文件应该是这样的 :

在这里输入图像说明

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

Solutions Collecting From Web of "错误MSB3147:找不到所需的文件“setup.bin”发布到本地失败"

引导程序负责使用复合应用程序库构建的应用程序的初始化。

当您设置<BootstrapperEnabled>false</BootstrapperEnabled> ,构建的应用程序的初始化将被省略。 如果将其设置为true,则将执行初始化,然后将出现错误“MSB3147:无法找到所需文件'setup.bin'”。

根据您的描述和图像,我发现您有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”。 在这里输入图像说明