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的程序集引用
我仍然无法建造它。我该怎么解决这个问题?
发现aspnet_compiler.exe(由msbuild调用)不在的Facade目录中查找库
C: ''Program Files(x86)'' Reference Assemblys''Microsoft''Framework.NETFramework''v4.5'' Facade
因此,解决方案中的网站项目不会编译。
我从这篇博客文章中发现了这一点。如前所述,为了解决这个问题,我将DLL从Facade目录复制到v4.5目录中,一切正常。
老实说,这不是一个理想的解决方案。