2017-08-03 41 views
0

我们最近升级到詹金斯2.60.1现在我们的CI为我们的.NET应用程序未能由于缺少微软假货组件:的MSBuild未能由于缺少假货

ApiControllerUnitTest.cs(20,30) :错误CS0234:类型或名称空间 名称'Fakes'在命名空间'域'中不存在(您是否缺少 程序集引用?) [e:\ jenkins \ workspace \ proj \ ci \ Web \ 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:\詹金斯\工作区\凸出\ CI \网络\ Domain.Test \ FakesAssemblies \ Domain.Fakes.dll

我们升级后的最新版本不再执行BuildFakesAssemblies任务在MSBuild中,这是有道理的,为什么组件缺失b因为他们不是通过这项任务创造的。在上一次成功构建和当前失败构建之间,此项目中没有任何变化。

我登录到了我们的构建服务器,注意到我们的VS Studio 2013 Premium许可已过期。我知道你需要Premium或Ultimate来充分利用Fakes,但我不确定这是否需要在构建服务器上通过Jenkins在命令行上执行MSBuild。有没有人遇到过这个错误,或者知道你的生成服务器上是否需要VS Studio的有效许可安装来编译Fakes程序集?

回答

0

我们的管理员刚刚添加临时许可证,现在我们的构建再次运行。

总之,它看起来像你需要有一个有效的许可证的生成服务器上的VS Studio Premium 2013或Ultimate 2013的实例,以使MSBuild生成伪装程序集。

似乎很难从命令行运行MSBuild时安装VS Studio,但这是它似乎为我们工作的唯一方式。

+0

是的,它至少需要VS Enterprise。 – benjymous

相关问题