我们最近升级到Jenkins 2.60.1,现在我们的.NET应用程序的ci构建由于缺少Microsoft Fakes程序集而失败:
ApiControllerUnitTest.cs(20,30):错误CS0234:类型或命名空间 命名'伪造'在命名空间“域”中不存在(你是否遗漏了 装配参考?) 并[e:\詹金斯\工作空间\凸出\ CI \网络\ Web.Test \ Web.Test.csproj] ApiControllerUnitTest.cs(31,21):错误CS0234:命名空间中不存在类型或命名空间名称'QualityTools' 'Microsoft'(你错过了程序集引用吗?)
在构建中,我注意到以下警告:
23> C:\ Program Files (86)\的MSBuild \ 12.0 \ BIN \ Microsoft.Common.CurrentVersion.targets(1697,5): 警告MSB3245:无法解析此引用。找不到 程序集“Domain.Fakes”。检查以确保组件存在 磁盘。如果您的代码需要此引用,您可能会得到 编译错误。 并[e:\詹金斯\工作空间\凸出\ CI \网络\ Domain.Test \ Domain.Test.csproj]
我们上次成功构建的日志中包含以下内容:
25> BuildFakesAssemblies: Domain.Fakes - e:\ jenkins \ workspace \ proj \ ci \ Web \ Domain.Test \ FakesAssemblies \ Domain.Fakes.dll
升级后我们的最新版本不再执行MSBuild中的BuildFakesAssemblies任务,这有意义为什么程序集丢失,因为它们不是通过此任务创建的。在上一次成功构建和当前失败构建之间,此项目没有任何变化。
我确实登录了我们的构建服务器,发现我们的VS Studio 2013 Premium许可证已过期。我知道你需要Premium或Ultimate来利用Fakes,但是我不确定在构建服务器上是否需要这样做,其中MSBuild是通过Jenkins在命令行上执行的。有没有人遇到过这个错误,或者知道你的构建服务器上是否需要有效的VS Studio许可安装来编译Fakes程序集?
答案 0 :(得分:0)
我们的管理员刚刚添加了临时许可证,现在我们的构建工作再次开始。
总之,看起来您需要在构建服务器上安装具有有效许可证的VS Studio Premium 2013或Ultimate 2013实例,以便让MSBuild构建Fakes程序集。
从命令行运行MSBuild时,似乎很难安装VS Studio,但这是它似乎对我们有用的唯一方式。