TeamCity代码检查无法识别AutoMapper

时间:2014-02-12 21:28:42

标签: c# resharper teamcity automapper

我正在为TeamCity 8.0.6上的C#项目运行代码检查。检查目前返回了200多个编译器错误,所有这些错误都与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。

1 个答案:

答案 0 :(得分:1)

唯一的解决方法是升级。我们将TeamCity升级到8.1.5后没有出现此特定错误。这将插件版本更改为30240,它可以处理AutoMapper配置而不会产生编译器错误。

构建服务器执行的检查与Visual Studio中运行的检查之间的结果仍然存在很大差异,但我不再看到AutoMapper配置生成的数百个编译器错误。