【发布时间】:2014-02-09 17:57:56
【问题描述】:
这是我的错误:http://i.imgur.com/hWm3Ta2.png 成功构建后,将“Microsoft.Web.Infrastructure.dll”放入我的项目 bin 目录即可解决。
我有相同的项目在一个构建服务器上工作,而不是另一个。我的问题是在一个构建服务器上我的项目的 bin 目录中缺少“Microsoft.Web.Infrastructure.dll”,但在构建项目后另一个没有。 Microsoft.Web.Infrastructure 引用将其属性“Copy Local”设置为“True”。
两个构建服务器都具有 TFS 和 IIS,以便快速测试/部署。显然问题出在构建服务器端,但我的所有研究都没有帮助我找到解决方案。
从我的构建日志中发现更详细的错误:
主要参考“Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL”。 c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9):警告 MSB3245:无法解析此引用。找不到程序集“Microsoft.Web.Infrastructure,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。
然后在这个错误之后,我得到了一个巨大的列表,它试图找到 DLL 但找不到。我认为修复就像将 DLL 放到这些地方的任何一个地方一样简单,但我忍不住想用胶带修复它。在我的 /packages/ 文件夹中,我清楚地看到“packages\Microsoft.Web.Infrastructure.1.0.0.0\”目录,但那里没有 lib 和 DLL。就好像它没有在建造一样。
【问题讨论】:
-
同样的问题。不知道为什么它没有被复制。我这边的 Copy Local 设置为 True