這是一個ClickOnce構建。它適用於.NET 4.5.1。 已安裝.NET 4.6.1 SDK。 安裝了MS Visual Studio 2015 Update 2。 Windows 7是操作系統。升級到.NET 4.6.1,現在出現錯誤MSB3147與MSBuild
GenericBootstrapper是:「HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ GenericBootstrapper」與12.0和14.0也。
- 在項目文件中,我將ToolsVersion從12.0更改爲14.0。
- 我將TargetFrameworkVersion更改爲4.6.1。
- 而引導程序:
<BootstrapperPackage Include="Microsoft.Net.Framework.4.6.1"> <Visible>False</Visible> <ProductName>Microsoft .NET Framework 4.6.1 (x86 and x64)</ProductName> <Install>true</Install> </BootstrapperPackage>
下面是從日誌中警告:
C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \微軟.Common.targets(4513,5): 警告MSB3155:位於'C:\ tm1 \ HE \ HE.Manager'中的項目'Microsoft.Net.Framework.4.6.1'不能爲 。 [C:\ TM1 \ HE \ HE.Manager \ HE.Managercopy.csproj]
這裏的錯誤日誌:
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(4513,5): 錯誤MSB3147:在 'C:\ tm1 \ HE \ HE.Manager \ Engine'中找不到需要的文件'setup.bin'。 [C:\ TM1 \ HE \ HE.Manager \ HE.Managercopy.csproj]
爲什麼會這樣4.6.1?
在我們的批處理文件,這裏是我們的MSBuild電話:
frameworkPath = 「C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319」
%frameworkPath%\的MSBuild%PROJECT_NAME%副本.csproj/target:發佈 /屬性:......
這對於.NET 4.6.1無法正常工作。我在第一篇文章中提到了我提到的錯誤。
在我的註冊表
「HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微軟\ GenericBootstrapper」
如果我添加一個4.0項與路徑「C:\ Program Files文件(x86)的\微軟Visual Studio 14.0 \ SDK \ Bootstrapper \「它的工作原理。
爲什麼不能使用註冊表項
「HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微軟\ GenericBootstrapper \ 14。0"
而且......
如果我改變frameworkPath到...
frameworkPath =?「C:\ Program Files文件(86) \ MSBuild \ 14.0 \ Bin「
%frameworkPath%\ msbuild%PROJECT_NAME%copy.csproj/target:發佈 /屬性:......
並運行MSBuild調用它的工作。
我已經重新安裝了.NET 4.6.1 SDK,但仍然沒有運氣。