2017-08-03 71 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

相關問題