是的,这绝对是可能的!
让它全部正常工作可能有点棘手,但了解一些关键的事情应该会有很大帮助。
第一步是使用自定义规则让 StyleCop 在开发人员机器上正常工作:
1) StyleCop 必须安装在开发人员机器上
2) 自定义规则必须安装在与 StyleCop 相同的目录中(或者,可选地,安装到子目录)。如果它们安装在其他任何地方,那么它们不太可能正常工作,如果它们能正常工作的话。
3) 该安装目录中的 Settings.StyleCop 文件、包含正在分析的项目的目录以及该目录之上的所有目录,必须结合起来启用您的自定义规则。最好通过双击项目目录中的 Settings.StyleCop 文件并确保在编辑器中启用您的规则来验证这一点。
下一点更棘手,让 StyleCop 在构建机器上正常工作。
这又是几乎相同的三点,但在将为签入策略运行 StyleCop 的构建机器上。所以构建机器必须安装 StyleCop,安装自定义规则,以及所有正确的 Settings.StyleCop 文件,以在构建机器上创建与开发机器上相同的整体 StyleCop 规则设置。这是最容易打破的,因为根本没有意识到构建机器必须安装 StyleCop。即使安装了 StyleCop,StyleCop 也可以通过 VS 集成运行(您肯定熟悉)或通过 MSBuild 集成运行 StyleCop(这不太常见,通常不太容易理解)。构建机通常设置为使用 MSBuild 集成,这意味着自定义规则需要安装在 %Program Files%\MSBuild\Microsoft\StyleCop\v4.3 目录中,而不是您的 %Program Files%\StyleCop 目录中可能是期待。此外,如果您修改了 %Program Files%\StyleCop 目录中的基本 Settings.StyleCop 文件,则必须将该文件复制到 %Program Files%\MSBuild\Microsoft\StyleCop\v4.3 目录中为了在构建机器上获得相同的效果。请注意,使用来自开发人员机器的经过验证的工作 Settings.StyleCop 文件进行复制/粘贴是确保构建机器具有正确设置的最佳方法。StyleCop 对那些 XML 文件非常挑剔,最轻微的拼写错误都会导致奇怪的行为,需要数天才能调试。请勿手动编辑。你被警告了。8)
所以肯定有很多方法不能让它完全正确,你会看到就像你描述的那样奇怪,直到你到达那里。幸运的是,通过记住我列出的三点以及“构建机器上的 StyleCop”和“开发机器上的 StyleCop”之间的区别,最终应该可以让这一切顺利运行。好吧,至少它一直对我有用。
祝你好运!