[英]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.