我遇到了共享自定义代码分析规则的问题,我似乎无法过去。我们将VSTS与单一团队项目结构结合使用。
这是我的源代码结构
然后在项目文件中我引用了_Configuration \ Custom Rules.ruleset文件,它使用了我期望的相对路径。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
<CodeAnalysisRuleSet>..\..\..\..\..\_Configuration\Custom Rules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
问题是:当我从Main分支到Phase2Dev(在Development文件夹内)时,相对路径不再正确,必须手动更正。合并回Main时还需要再次纠正。我知道我可以删除Development文件夹,但是我们使用了很多分支,如果可能的话,这会混淆我想避免的文件夹结构。
修改
根据Daniel的回复,我应该分享更多细节。在这种情况下,“项目A”是大约50个中小型项目之一。我们只想为所有这些代码保留一组代码规则,这就是为什么我将它们放在项目范围之外的文件夹结构中。
所以我的问题:有没有更好的方法来做到这一点,而不依赖于源文件夹结构中深度相同的源?
答案 0 :(得分:2)
您的代码分析规则应该能够与应用程序一起发展,而不会影响其他分支。将===
文件夹移到分支机构内。
如果要跨多个解决方案共享CodeAnalysis规则,则可以将其打包到Nuget包中,并让每个项目都依赖于包。