【发布时间】:2015-06-24 06:10:33
【问题描述】:
我一直在浏览 StackOverflow,探索我的问题的可能解决方案。出于某种原因,TeamCity 无法找到“Microsoft.Web.Infrastructure”,但我已经安装了所有必需的 .Net 包。但是,我已经在本地运行了所有测试,并且在 Visual Studio 中构建项目返回了成功的构建。
这是我遇到的错误:
App_Start\NinjectWebCommon.cs(9, 40):错误 CS0234:命名空间“Microsoft.Web.Infrastructure”中不存在类型或命名空间名称“DynamicModuleHelper”(您是否缺少程序集引用?)
我尝试过的解决方案
- 在 Visual Studio 中,一个 StackOverflow 线程指示我将引用“Microsoft.Web.Infrastructure”选项“复制本地”设置为 true。这返回了与上述错误相同的结果。
- 我已经删除了所有对“Microsoft.Web.Infrastructure”的引用并重新安装了这个包,我还重新安装了 Ninject。我没有指定特定版本。同样,在本地构建成功并没有那么成功 - 发生了同样的错误。
有没有人遇到过这样的问题?我还完成了 GIT 存储库的全新克隆,恢复了所有 NuGet 包(TeamCity 也这样做了),并且构建得非常好。
【问题讨论】:
-
在删除包文件夹中的所有内容并验证它是否已通过构建输出窗口从 nuget 中拉下后,您是否完成了完整的清理和构建?我问的原因是,当某处有一个挥之不去的 dll 时,我往往会陷入“地狱,它在我的机器上工作”的特定坑。
-
在问了这个问题后,我只是这么想,我已经指示 TeamCity 彻底擦除项目的缓存文件夹,并在每次构建时重新克隆。同时——此时我还没有执行另一个构建——我注意到服务器运行的是 VS Professional 而不是 VS Ultimate。所以我换了VS,重新运行了构建,你知道什么。它建成了!
标签: c# .net visual-studio-2013 continuous-integration teamcity