我卸载了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)
想知道即使我从不使用UI还是要重新安装VS2015吗?
答案 0 :(得分:1)
从评论中复制。
VS2017 / 2019默认不再安装.NET Framework 3.5 SDK。这就是为什么您在MSBuild日志记录中看到SDK35ToolsPath
为空白的原因。
转到VS2017 / 2019安装程序,然后选择.NET Framework 3.5开发工具进行安装。然后它应该可以毫无问题地编译。