2017-02-28 76 views
6

嘗試使用TFS構建定義進行構建時,遇到以下probem。在使用TFS 2017構建解決方案時出現CS0234 BuildAgent

當執行一個Build Agent會記錄以下錯誤:

錯誤CS0234:(?是否缺少程序集引用)類型或命名空間名稱「的VisualStudio」不命名空間中的「微軟」存在

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

錯誤CS0246:類型或命名空間名稱「TestCleanupAttribute」找不到(你是否錯過了使用di rective集引用)

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

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

讓我明白了消息的方式,該buildAgent無法找到下列.dll

Microsoft.VisualStudio.TestTools.UnitTesting;

我已經在運行TFS和Buildagents的服務器上安裝了Visual Studio 2017 RC和Visual Studio 2017 Build Tools。

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

This accepted answer對我來說不是一個解決方案。

必須有某種解決方案,不包括將該dll複製到git trunk並從那裏引用它。

更新

我能夠在本地建立對mashine使用Visual Studio 2017年RC的解決方案。 但構建代理仍會引發相同的錯誤。

+1

您是否能夠在VS 2017 RC本地生成項目?轉到您的構建代理機器並使用msbuild命令行手動運行您的項目,以查看您會得到什麼結果?此外,請檢查以下網站上的錯誤CS0234和錯誤CS0246的原因,以查看它們是否可以提供幫助:https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/compiler-messages/cs0234, https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/compiler-messages/cs0246 –

+0

Thx提示嘗試使用命令行中的msbuild構建它。我還會檢查並提供反饋 –

回答

10

我終於想出瞭如何解決這個問題。

添加以下NuGet包作爲參考我的項目:

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

這是mstestv2框架。

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

構建錯誤現在消失了。

更新:

如果你想擁有你的測試發現添加MSTest TestAdapter到您的項目。

感謝Maciej該信息。

+3

如果您希望您的測試在Visual Studio中可發現/可運行,則還需要添加MSTest.TestAdapter版本1.2.0:Install-Package MSTest.TestAdapter -Version 1.2.0 – Maciej

+1

感謝您的提示!我將它添加到答案 –

+0

我有與自定義DLL類似的問題。然後我刪除了對dll的舊引用,粘貼了對同一個dll的新引用,並且它的工作原理! – Rekshino

1

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

相關問題