Bor*_*ens 10 c# powershell code-analysis envdte nuget
我正在尝试构建一个NuGet包,它自动添加我们公司的代码分析字典并可以更新.
规则集添加到内容文件夹中,现在我想使用install.ps1脚本在项目文件中添加规则集.
我想出去的方法是使用envDTE,但我找不到很多有用的文档,除了这个压倒性的对象图,我找不到CodeAnalysisRuleset节点.
http://msdn.microsoft.com/en-us/library/za2b25t3(v=vs.100).aspx
我在追求正确的道路吗?
是否有关于如何在NuGet powershell中使用envDTE的相关教程/文档?
如何运行/调试我的安装脚本而不必将其实际添加到包并针对项目安装?
旁注
虽然@Nicole Calinoiu表现出更好的方式,但这些信息可能会在以后派上用场:
foreach ($config in $project.ConfigurationManager){
$config.Properties.Item("CodeAnalysisRuleSet").Value = "myruleset.ruleset"
}
Run Code Online (Sandbox Code Playgroud)
Nic*_*oiu 16
没有必要编写脚本.规则集和字典都可以通过导入的MSBuild .props文件进行注册,如https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#including-msbuild-props-and所述.-targets-in-a-package.
例如,您的NuGet源文件夹结构可能如下所示(假设"CodeAnalysisSettings"是您的包ID):
其中的内容CodeAnalysisSettings.props如下:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>MyRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<CodeAnalysisDictionary Include="MyCustomDictionary.xml" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3015 次 |
| 最近记录: |