C# 卸载VS2015后,在VS2017中从错误位置使用的MSBUILD?XmlSerializer生成的版本不正确

C# 卸载VS2015后,在VS2017中从错误位置使用的MSBUILD?XmlSerializer生成的版本不正确,c#,visual-studio-2015,msbuild,visual-studio-2017,C#,Visual Studio 2015,Msbuild,Visual Studio 2017,我卸载了VS2017和VS2015,只重新安装了VS2017。现在,在一些asp.net 3.5程序集上,以前在VS2017中构建/工作正常的程序集不再正确构建 即使项目引用system.xml v2.0,在构建时,*.XmlSerializers程序集也会拉入该程序集的v4.0版本。导致在asp.net 2.0应用程序池上运行的网站不再运行 以下是我的程序集应用程序设置: 以下是我的项目参考: 下面是Ildasm.exe,它显示了错误的system.xml: 我在web.config中仅有的绑

我卸载了VS2017和VS2015,只重新安装了VS2017。现在,在一些asp.net 3.5程序集上,以前在VS2017中构建/工作正常的程序集不再正确构建

即使项目引用system.xml v2.0,在构建时,*.XmlSerializers程序集也会拉入该程序集的v4.0版本。导致在asp.net 2.0应用程序池上运行的网站不再运行

以下是我的程序集应用程序设置:

以下是我的项目参考:

下面是Ildasm.exe,它显示了错误的system.xml:

我在web.config中仅有的绑定如下:

我正在尝试确定是否从C:\Windows\Microsoft.NET\Framework\v4.0.30319路径或其他路径运行生成MSBuild

更新:我运行了一个构建,在我的桌面上有详细的输出,一个不再正常工作,我的笔记本电脑仍然工作。显然有很多不同之处,但可能出现的问题是:

笔记本电脑仍在工作 SDK35ToolsPath=C:\ProgramFilesx86\Microsoft SDK\Windows\v7.0A\bin\ MSBuildVersion=15.7.180 targetFrameworkDKToolsDirectory=C:\ProgramFilesx86\Microsoft SDK\Windows\v7.0A\bin\ VSSDK140Install=C:\Program Files x86\Microsoft Visual Studio 14.0\VSSDK\桌面上缺少 Microsoft R Visual C编译器版本2.8.3.63029 e9a3a6c0任务ID:28

桌面不工作 SDK35ToolsPath= MSBuildVersion=15.9.21 TargetFrameworkDKToolsDirectory=C:\Program Files x86\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ Microsoft R Visual C编译器版本2.10.0.0 b9fb1610任务ID:28


不知道我是否也应该重新安装VS2015,即使我永远不会使用UI?

从评论中复制

默认情况下,VS2017/2019不再安装.NET Framework 3.5 SDK。这就是为什么您在MSBuild日志中看到SDK35ToolsPath为空


转到VS2017/2019安装程序并选择要安装的.NET Framework 3.5开发工具。然后,它应该可以顺利编译。

您是否检查了您的项目,以查看其目标框架的版本?@JuanR是的,这些版本没有更改。我的项目中没有任何更改,但现在我所有的构建都将不正确的信息拉入XmlSerializer.dll。我在上面添加了显示我的设置的图像。所以。。。。项目应该在什么框架下运行,目标是什么框架?我知道你提到的那些框架没有改变。有可能是别的东西改变了它。这就是我问的原因。听起来VS2017在默认情况下不再安装.NET Framework 3.5 SDK。转到VS2017安装程序并选择.NET Framework 3.5开发工具,您可能会让它再次工作。