卸载VS2015后,从VS2017中错误的位置使用了MSBUILD吗? XmlSerializers生成的版本不正确

时间:2019-02-04 18:41:58

标签: c# visual-studio-2015 msbuild visual-studio-2017

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

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

这是我的装配体应用程序设置:

enter image description here

这是我的项目参考:

enter image description here

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

enter image description here

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

enter image description here

我正在尝试确定它是否是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)

想知道即使我从不使用UI还是要重新安装VS2015吗?

1 个答案:

答案 0 :(得分:1)

从评论中复制。

VS2017 / 2019默认不再安装.NET Framework 3.5 SDK。这就是为什么您在MSBuild日志记录中看到SDK35ToolsPath为空白的原因。

转到VS2017 / 2019安装程序,然后选择.NET Framework 3.5开发工具进行安装。然后它应该可以毫无问题地编译。