2014-02-12 74 views
1

我正在TeamCity 8.0.6上運行C#項目的代碼檢查。檢查目前正在返回超過200個編譯器錯誤,所有這些都與AutoMapper映射配置定義有關。TeamCity代碼檢查無法識別AutoMapper

任何地方映射配置定義,該代碼檢查返回一個類似的C#編譯器錯誤和消息:

Cannot resolve method 'ForMember(lambda expression, lambda expression)', candidates are... 

ReSharper的和AutoMapper正在發揮很好地在我的本地環境 - 代碼檢查運行沒有錯誤。只有在TeamCity的嵌入式代碼檢查插件的構建服務器上出現這些錯誤。

之前已經記錄了AutoMapper和ReSharper代碼檢查之間的兼容性問題,並且人們使用基於VisualStudio的檢查的解決方法。這裏的區別在於,檢查是使用TeamCity的ReSharper嵌入式版本運行的,而不是VisualStudio插件。因此,許多修補程序(如關閉和重新打開VisualStudio或禁用並重新啓用ReSharper插件)都不適用。

有沒有人遇到類似TeamCity的嵌入式.NET代碼檢查插件的問題,如果有的話,你是如何解決它的?

爲了記錄,插件名稱爲dotnet-tools,版本爲27767,它們在TeamCity 8.0.6(本文撰寫時的當前版本)下運行。我可以確認解決方案中只有一個版本的AutoMapper DLL。

+0

我已將服務器升級到8.1,插件版本更改爲29879.問題行爲依然存在。 – kiprainey

+0

這似乎與此TeamCity錯誤有關: http://youtrack.jetbrains.com/issue/TW-33982 尚無任何修復程序可用。 – kiprainey

+0

根據上面的youtrack鏈接,這個問題將在版本8.1.2中得到解決 – kiprainey

回答

1

唯一的解決方法是升級。在我們將TeamCity升級到8.1.5後,這個特定的錯誤並沒有出現。這將插件版本更改爲30240,並且它可以處理AutoMapper配置而不會產生編譯器錯誤。

由構建服務器執行的檢查與在Visual Studio中運行的檢查之間的結果仍存在實質性差異,但我不再看到由AutoMapper配置生成的數百個編譯器錯誤。