我尝试将StyleCop集成到Visual Studio解决方案中。在每个开发人员的每台机器上安装StyleCop是我宁愿避免的。我多次看到的建议(example)是将StyleCop的二进制文件包含在项目中,并将它们存储在版本控制中。
我做到了。它在我的机器上工作,但在未安装StyleCop的其他机器上失败。在我的机器上卸载StyleCop后,它也无法正常工作。
错误消息如下:
严重级代码说明项目文件行 错误无法从程序集C:\ Program Files(x86)\ MSBuild .. \ StyleCop 4.7 \ StyleCop.dll加载“StyleCopTask”任务。无法加载文件或程序集'file:/// C:\ Program Files(x86)\ StyleCop 4.7 \ StyleCop.dll'或其依赖项之一。该系统找不到指定的文件。确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。演示
这是我在每个.csproj文件中包含的内容:
<Import Project="$(SolutionDir)\externs\Microsoft.StyleCop\StyleCop.targets" />
目录C:\demo\externs\Microsoft.StyleCop
包含:
C:\Program Files (x86)\StyleCop 4.7
,
C:\Program Files (x86)\MSBuild\StyleCop\v4.7\StyleCop.Targets
。
怎么了?
答案 0 :(得分:4)
StyleCop.Targets
似乎包含绝对路径:
<UsingTask
AssemblyFile="$(MSBuildExtensionsPath)\..\StyleCop 4.7\StyleCop.dll"
TaskName="StyleCopTask"/>
为了能够在未安装应用程序的计算机上使用StyleCop,请将此路径更改为类似于:
<UsingTask
AssemblyFile="$(SolutionDir)\externs\Microsoft.StyleCop\StyleCop.dll"
TaskName="StyleCopTask"/>