我一直在浏览StackOverflow,探索我的问题的可能解决方案。出于某种原因,TeamCity无法找到' Microsoft.Web.Infrastructure'但我已经安装了所有必需的.Net包。但是,我已经在本地运行了所有测试,并且在Visual Studio中构建项目会返回成功的构建。
这是我遇到的错误:
App_Start \ NinjectWebCommon.cs(9,40):错误CS0234:类型或命名空间名称' DynamicModuleHelper'名称空间中不存在Microsoft.Web.Infrastructure' (你错过了一个程序集引用吗?)
我尝试过的解决方案
之前有没有人遇到过这样的问题?我还完成了GIT存储库的全新克隆,恢复了所有NuGet包(TeamCity也做了)并且构建完全正常。
答案 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选项中设置为“清理并重新下载”也解决了这个问题。