验证解决方案中的.csproj文件

gt

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

验证意味着检查,例如:

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

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

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

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

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

瓦舍尔

AFAIK没有实现此目的工具这就是为什么我的一位同事编写了一个自定义工具来进行验证.csproj.vbproj使用自定义规则验证器进行归档的原因

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

室内的验证工具,我说的是简单地检查定义的规则(如ToolsVersionTargetFrameworkVersionTargetCPU的格式,...)和地块对应的输出,使构建服务器可以解析消息并停止建设,如果一个重要的规则是破碎的。

祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在VS解决方案中定义环境变量并在csproj文件中使用它们?

来自分类Dev

如何在VS解决方案中定义环境变量并在csproj文件中使用它们?

来自分类Dev

大型C#解决方案中的配置文件

来自分类Dev

解决方案文件中的C#项目名称

来自分类Dev

大型C#解决方案中的配置文件

来自分类Dev

Visual Studio 解决方案文件中的环境变量

来自分类Dev

如何在Visual Studio解决方案资源管理器中查找打开的Xamarin Android或iOS csproj文件

来自分类Dev

使解决方案中的每个csproj都针对不同的C#版本

来自分类Dev

编辑csproj文件中的DefineConstants

来自分类Dev

golang树状文件系统解决方案

来自分类Dev

MS从解决方案文件构建项目

来自分类Dev

旋转日志文件的解决方案

来自分类Dev

本地文件系统访问-解决方案?

来自分类Dev

解析大文件的替代解决方案

来自分类Dev

解释 OPL 的解决方案文件

来自分类Dev

从解决方案资源管理器中删除解决方案文件夹中在 TFS 中保留在团队中的文件夹

来自分类Dev

如果解决方案文件放错位置并且没有解决方案文件的备份,是否有任何方法/工具可以将构建文件更改为asp.net中的解决方案文件?

来自分类Dev

如何在C#解决方案中引用其他文件夹中的文件

来自分类Dev

如何在C#解决方案中引用其他文件夹中的文件

来自分类Dev

Sourcetree / Git .ignore文件-不忽略解决方案中的packages文件夹

来自分类Dev

将解决方案中的所有LESS文件编译为一个文件

来自分类Dev

解决方案中的文件引用可以自动替换为文件引用吗?

来自分类Dev

将包文件夹移动到解决方案文件夹中

来自分类Dev

在Visual Studio 2012/2013中的项目/解决方案中缺少文件时报告错误/警告

来自分类Dev

在Visual Studio 2013的解决方案文件夹中搜索代码中的特定模式

来自分类Dev

如何从 Visual Studio 中的项目解决方案中删除其他构建文件

来自分类Dev

Visual Studio 2019:在解决方案资源管理器中双击项目将打开.csproj文件,而不是切换项目文件的可见性

来自分类Dev

如何通过Django渠道共享文件,现在有不完整的解决方案,例如S3存储桶中的所有解决方案

来自分类Dev

检查解决方案文件夹是否包含不属于解决方案的文件

Related 相关文章

  1. 1

    如何在VS解决方案中定义环境变量并在csproj文件中使用它们?

  2. 2

    如何在VS解决方案中定义环境变量并在csproj文件中使用它们?

  3. 3

    大型C#解决方案中的配置文件

  4. 4

    解决方案文件中的C#项目名称

  5. 5

    大型C#解决方案中的配置文件

  6. 6

    Visual Studio 解决方案文件中的环境变量

  7. 7

    如何在Visual Studio解决方案资源管理器中查找打开的Xamarin Android或iOS csproj文件

  8. 8

    使解决方案中的每个csproj都针对不同的C#版本

  9. 9

    编辑csproj文件中的DefineConstants

  10. 10

    golang树状文件系统解决方案

  11. 11

    MS从解决方案文件构建项目

  12. 12

    旋转日志文件的解决方案

  13. 13

    本地文件系统访问-解决方案?

  14. 14

    解析大文件的替代解决方案

  15. 15

    解释 OPL 的解决方案文件

  16. 16

    从解决方案资源管理器中删除解决方案文件夹中在 TFS 中保留在团队中的文件夹

  17. 17

    如果解决方案文件放错位置并且没有解决方案文件的备份,是否有任何方法/工具可以将构建文件更改为asp.net中的解决方案文件?

  18. 18

    如何在C#解决方案中引用其他文件夹中的文件

  19. 19

    如何在C#解决方案中引用其他文件夹中的文件

  20. 20

    Sourcetree / Git .ignore文件-不忽略解决方案中的packages文件夹

  21. 21

    将解决方案中的所有LESS文件编译为一个文件

  22. 22

    解决方案中的文件引用可以自动替换为文件引用吗?

  23. 23

    将包文件夹移动到解决方案文件夹中

  24. 24

    在Visual Studio 2012/2013中的项目/解决方案中缺少文件时报告错误/警告

  25. 25

    在Visual Studio 2013的解决方案文件夹中搜索代码中的特定模式

  26. 26

    如何从 Visual Studio 中的项目解决方案中删除其他构建文件

  27. 27

    Visual Studio 2019:在解决方案资源管理器中双击项目将打开.csproj文件,而不是切换项目文件的可见性

  28. 28

    如何通过Django渠道共享文件,现在有不完整的解决方案,例如S3存储桶中的所有解决方案

  29. 29

    检查解决方案文件夹是否包含不属于解决方案的文件

热门标签

归档