簡體   English   中英

使用TFS 2017 BuildAgent構建解決方案時出現錯誤CS0234

[英]Error CS0234 when building solution using TFS 2017 BuildAgent

當嘗試使用TFS構建定義進行構建時,我遇到了以下問題。

執行構建時,代理會記錄以下錯誤:

錯誤CS0234:類型或名稱空間名稱“ VisualStudio”在名稱空間“ Microsoft”中不存在(您是否缺少程序集引用?)

錯誤CS0246:找不到類型或名稱空間名稱'TestInitializeAttribute'(您是否缺少using指令或程序集引用?)

錯誤CS0246:找不到類型或名稱空間名稱“ TestCleanupAttribute”(您是否缺少using指令或程序集引用?)

錯誤CS0246:找不到類型或名稱空間名稱“ TestCleanup”(您是否缺少using指令或程序集引用?)

錯誤CS0246:找不到類型或名稱空間名稱“ TestMethodAttribute”(您是否缺少using指令或程序集引用?)

所以我以這種方式理解了消息,即buildAgent無法找到以下.dll

Microsoft.VisualStudio.TestTools.UnitTesting;

我已在運行TFS和Buildagents的服務器上安裝了Visual Studio 2017 RC和Visual Studio 2017生成工具。

我還在該mashine上安裝了.net 4.6.1。

這個公認的答案對我來說不是解決方案。

必須有某種解決方案,其中不包括將dll復制到git trunk並從那里引用它。

更新資料

我可以在該mashine上使用Visual Studio 2017 RC在本地構建解決方案。 但是,構建代理仍然會引發相同的錯誤。

我最終想出了解決該問題的方法。

我添加了以下nuget包作為對我的項目的引用:

https://www.nuget.org/packages/MSTest.TestFramework/

那就是mstestv2框架。

之后,我不得不刪除對mstestv1框架的舊引用。

現在,構建錯誤已消失。

更新:

如果您希望發現測試,則將MSTest TestAdapter添加到項目中。

感謝Maciej提供該信息。

我在VS 2017中將目標框架從4.7更改為4.6.1,並且已修復

確保您沒有檢查包含NuGet軟件包和DLL的/ packages目錄。 我無意中將此目錄簽入了源代碼管理,這阻止了NuGet恢復任務正確下載所需的DLL。

關鍵消息是構建日志前面的警告:

警告MSB3245:無法解析此引用。 無法找到程序集“ Microsoft.VisualStudio.TestPlatform.TestFramework,版本= 14.0.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL”。 檢查以確保程序集在磁盤上。 如果您的代碼需要此引用,則可能會出現編譯錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM