在浏览互联网并讨论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 MSDN。 This blog
我添加了注册表项:
我还注意到Windows 10内置了.NET框架,并且它错过了4.0。
我卸载了dotNetFx40_Full_setup.exe并在Visual Studio上运行修复,以允许它根据需要安装sdks。这没有用。
我有一个MSBuild exe,应该是according to this:
我想知道是不是因为我错过了.NET sdk 4.0。 它是bootstrapper的版本吗? 我不知道如何解决它。有谁知道如何在Windows 10上解决这个问题?
答案 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”。