簡體   English   中英

卸載 VS2015 后,在 VS2017 中從錯誤位置使用 MSBUILD? XmlSerializers 使用不正確的版本構建

[英]MSBUILD used in from wrong location in VS2017 after uninstalling VS2015? XmlSerializers builds with incorrect versions

我卸載了VS2017和VS2015,只重新安裝了VS2017。 現在,以前在 VS2017 中構建/工作正常的某些 asp.net 3.5 程序集不再正確構建。

即使項目引用 system.xml v2.0,在構建時,*.XmlSerializers 程序集也會引入該程序集的 v4.0 版本。 導致我們在 asp.net 2.0 應用程序池上運行的站點不再運行。

這是我的程序集應用程序設置:

在此處輸入圖片說明

這是我的項目參考:

在此處輸入圖片說明

這是 Ildasm.exe 顯示錯誤的 system.xml 拉入:

在此處輸入圖片說明

我在 web.config 中唯一的綁定如下:

在此處輸入圖片說明

我正在嘗試確定它是構建 MSBuild 是從C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319路徑運行還是什么。

更新:我在我的桌面(不再正常工作的那個)和我的筆記本電腦(仍然可以工作)上運行了一個帶有詳細輸出的構建。 顯然有很多差異,但作為可能的問題跳出來的是:

筆記本電腦(仍在工作)
SDK35ToolsPath = C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\
MSBuildVersion = 15.7.180
TargetFrameworkSDKToolsDirectory = C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\ VSSDK140Install = C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VSSDK\\從桌面丟失
Microsoft (R) Visual C# 編譯器版本 2.8.3.63029 (e9a3a6c0) (TaskId:28)

桌面(不工作)
SDK35ToolsPath =
MSBuildVersion = 15.9.21
TargetFrameworkSDKToolsDirectory = C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.1 Tools\\
Microsoft (R) Visual C# 編譯器版本 2.10.0.0 (b9fb1610) (TaskId:28)

想知道即使我永遠不會使用用戶界面,我是否也應該再次重新安裝 VS2015?

復制自評論。

VS2017/2019 不再默認安裝 .NET Framework 3.5 SDK。 這就是您在 MSBuild 日志記錄中看到SDK35ToolsPath為空的原因。

進入VS2017/2019安裝程序,選擇.NET Framework 3.5開發工具進行安裝。 然后它應該編譯沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM