TeamCity - Missing' Microsoft.Web.Infrastructure'

时间:2015-06-23 10:01:28

标签: c# .net visual-studio-2013 continuous-integration teamcity

我一直在浏览StackOverflow,探索我的问题的可能解决方案。出于某种原因,TeamCity无法找到' Microsoft.Web.Infrastructure'但我已经安装了所有必需的.Net包。但是,我已经在本地运行了所有测试,并且在Visual Studio中构建项目会返回成功的构建。

这是我遇到的错误:

  

App_Start \ NinjectWebCommon.cs(9,40):错误CS0234:类型或命名空间名称' DynamicModuleHelper'名称空间中不存在Microsoft.Web.Infrastructure' (你错过了一个程序集引用吗?)

我尝试过的解决方案

  1. 在Visual Studio中,我被一个StackOverflow线程指示设置引用' Microsoft.Web.Infrastructure'选项'复制本地'为真。这返回了与上述错误相同的结果。
  2. 我已经删除了所有“Microsoft.Web.Infrastructure”的引用。并重新安装了这个软件包,我也重新安装了Ninject。我没有指定特定的版本。同样,本地构建远程成功并不是那么多 - 发生了相同的错误。
  3. 之前有没有人遇到过这样的问题?我还完成了GIT存储库的全新克隆,恢复了所有NuGet包(TeamCity也做了)并且构建完全正常。

1 个答案:

答案 0 :(得分:0)

在问这个问题后,我继续调查。虽然我的持续集成服务器正在运行多个Windows虚拟机,并且由于TeamCity在这些虚拟机之间对这些构建进行负载平衡,因此其中一些配置与其余虚拟机不同步。一些团队代码纯粹是用C ++编写的,因此安装的Microsoft Visual Studio版本(Visual Studio Professional 2013)是我的C#项目的错误版本。尝试在其中一个选定的VM上使用Visual Studio打开项目后,我发现Visual Studio不理解csproj文件扩展名。

我安装了Visual Studio 2013 Ultimate - 这是我在工作站上使用的版本 - 幸好它符合要求。有时在我的项目中,当我请求构建时,它会使用旧文件,因为TeamCity会在本地缓存文件。我发现在VCS选项中设置为“清理并重新下载”也解决了这个问题。