Msbuild无法生成间接引用System.Runtime的网站项目

本文关键字:Runtime System 网站 项目 引用 Msbuild | 更新日期: 2023-09-27 18:21:59

我遇到MSBuild的依赖项问题。我在解决方案中的一个项目中添加了Microsoft.Tpl.Dataflow的NuGet包。这导致引用第一个项目的解决方案中的网站项目生成失败。获取正确的运行时版本似乎有问题。

这是我在使用MSBuild构建解决方案时遇到的许多错误之一。

C: ''src''MyWebsite.metaproj:警告MSB3268:主引用"C:''src''projects''ReferencedProject''bin''Debug''ReferencedPProject.dll"无法解析,因为它对框架程序集"System.Runtime,版本=4.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a",无法在目前的目标框架。".NETFramework,Version=v4.5"。若要解决此问题,请删除引用"C:''src''projects''ReferencedProject''bin''Debug''ReferencedPProject.dll"或者将您的应用程序重定向到包含"System.Runtime,版本=4.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a".

令人困惑的是,该解决方案在Visual Studio中构建良好。此外,解决方案构建中的所有其他项目——只有网站项目失败了。

我试过

  • 将网站的目标框架更改为4.0(目前为4.5)
  • 正在添加对System.Runtime.dll版本4.0.0.0的程序集引用

我仍然无法建造它。我该怎么解决这个问题?

Msbuild无法生成间接引用System.Runtime的网站项目

发现aspnet_compiler.exe(由msbuild调用)不在的Facade目录中查找库

C: ''Program Files(x86)'' Reference Assemblys''Microsoft''Framework.NETFramework''v4.5'' Facade

因此,解决方案中的网站项目不会编译。

我从这篇博客文章中发现了这一点。如前所述,为了解决这个问题,我将DLL从Facade目录复制到v4.5目录中,一切正常。

老实说,这不是一个理想的解决方案。

相关文章: