WebActivatorEx全局属性破坏CI构建

时间:2016-08-25 21:01:27

标签: ninject azure-devops azure-pipelines webactivator

我正在尝试使用Visual Studio Team Services CI构建,并且我遇到了正在进行WebActivator调用的Ninject类的问题。

此代码在我的NinjectWebCommon.cs中执行: enter image description here

使用Visual Studio在本地构建/运行良好。但是,当我将项目推送到VSTS并尝试运行构建时,我收到此警告(这不可避免地导致预期的编译错误): enter image description here

如果我注释上面显示的全局属性,CI 构建成功

我很难确切地指出问题所在。错误消息很简单,但是Visual Studio和VSTS中的构建之间有什么区别允许它在一个地方而不是另一个地方工作?我确信我可以通过手动将调用放在我的Global.asax中来防止这个问题,但这不是我想要的方向 - Ninject使用WebActivator调用是有原因的。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果不检查您的实际项目和CI流程,那么给出明确答案是很困难的。

问题是在CI服务器上缺少WebActivatorEx程序集。假设您的CI服务器从源代码控制中提取解决方案的副本,您可以检查以下内容:

  1. 确保您的CI服务器在构建之前在解决方案上运行nuget还原。
  2. 在您的Web项目中,仔细检查它的引用并确保从“packages \ WebActivatorEx”路径引用WebActivatorEx,而不是“\ bin \”路径。
  3. 仔细检查Web项目中的packages.config并确保列出了WebActivatorEx。这就是nuget知道如何恢复该项目的包。
  4. 如果清理bin文件夹并在本地删除包文件夹,则可能会在您的计算机上复制该问题。