验证解决方案中的.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 条评论
登录 后参与评论

相关文章

.csproj 文件在构建时自动更改 解决方案?

防止添加新的csproj将AnyCPU重新添加到解决方案文件中

验证解决方案项目之间没有文件引用

无法在Visual Studio 2017解决方案资源管理器中编辑.csproj文件

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

如何为Visual Studio中的解决方案动态创建解决方案文件夹?

.csproj如何知道其解决方案?

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

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

保存后文件从VS 2015解决方案中消失

如何从解决方案中获取64位exe文件?

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

无法在清单文件中设置会议解决方案的密钥

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

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

如何使用dotnet CLI(命令行)在“解决方案”文件夹下将项目(.csproj)添加到解决方案(.sln)?

编辑csproj文件中的DefineConstants

跨浏览器解决方案,用于从经过身份验证的端点下载大文件

csproj文件Visual Studio中的重复文件

防止在解决方案之外编辑文件

平面文件NoSQL解决方案

旋转日志文件的解决方案

golang树状文件系统解决方案

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

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

解释 OPL 的解决方案文件

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

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

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