【问题标题】:Validate .csproj files in solution验证解决方案中的 .csproj 文件
【发布时间】:2015-07-21 07:20:43
【问题描述】:

我希望能够在将我的.csproj 文件添加到解决方案时或在我们的 CI 构建服务器上构建它们时验证它们。

验证意味着检查,例如:

  • 路径和项目文件名符合约定
  • 程序集名称和命名空间符合命名约定
  • 平台目标正确
  • 输出路径正确(发布和调试)
  • 警告级别正确,警告被视为错误
  • 项目中存在某些文件(AssemblyInfo.cs 等)。
  • 程序集已被正确引用

另一个有用的功能是能够忽略某些项目,或者更好的是,能够定义项目分组,每个组都有自己的验证规则。

在我看来,这似乎是许多其他人必须遇到的问题,但是我还没有找到任何可以帮助简化或自动化此过程的工具。我想它可能是 StyleCop 或 FxCop 之类的东西。

这样的工具是否存在或者我必须创建自己的自定义构建步骤?

(我也在使用 ReSharper,所以会考虑使用插件,尽管这可能会使构建服务器上的验证更加困难。)

【问题讨论】:

    标签: c# visual-studio validation continuous-integration csproj


    【解决方案1】:

    AFAIK 没有tool to achieve this。这就是为什么我的一位同事编写了一个自定义工具来使用自定义规则验证器验证 .csproj.vbproj 文件的原因。

    有一些类可以检查项目文件,例如Microsoft.Build.Evaluation.Project (Assembly Microsoft.Build) 等可能对您很方便。但是当您尝试解析解决方案文件时,它会变得很脏。我强烈推荐看看这个question on StackOverflow

    我所说的内部验证工具只是检查已定义的规则(如ToolsVersionTargetFrameworkVersionTargetCPU、...)并以某种格式绘制相应的输出,以便构建服务器可以如果违反了重要规则,则解析消息并停止构建。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      相关资源
      最近更新 更多