.NET Roslyn:运行时配置
.NET Roslyn : runtime configuration
我将使用 Roslyn 代码分析器开发一些规则。这条规则是为了控制命名空间的访问。
例如,DAL 只能使用内核。如果视图使用 DAL,我想要一个警告。
我使用'Visual Studio 2015 Community Edition'中的模板"Analyzer with Code Fix (NuGet + VSIX)"来生成插件。
我已经做了一些测试,效果很好。然而,规则是硬写在代码中的。我不知道如何在运行时配置规则。
最好是解决方案或项目中的配置文件。
你能举个例子吗?
谢谢。
解决方案简历:
- 在分析的项目中添加Visual Studio中的文件。
用编辑器打开.csproj修改配置文件的item组
<None Include="test.txt" />
->
<AdditionalFiles Include="test.txt" />
您可以通过编译器的 AdditionalFiles
items in the .csproj
. They get expanded into /additionalfile:<path>
命令行选项添加分析器运行时配置。在 VS“15”预览中,您可以从 UI:
设置此项会将以下内容添加到您的 .csproj:
<ItemGroup>
<AdditionalFiles Include="test.txt" />
</ItemGroup>
您的分析器可以通过 AnalyzerOptions.AdditionalFiles, available in CompilationStartAnalysisContext.Options.
访问它们
我将使用 Roslyn 代码分析器开发一些规则。这条规则是为了控制命名空间的访问。 例如,DAL 只能使用内核。如果视图使用 DAL,我想要一个警告。
我使用'Visual Studio 2015 Community Edition'中的模板"Analyzer with Code Fix (NuGet + VSIX)"来生成插件。
我已经做了一些测试,效果很好。然而,规则是硬写在代码中的。我不知道如何在运行时配置规则。 最好是解决方案或项目中的配置文件。
你能举个例子吗?
谢谢。
解决方案简历:
- 在分析的项目中添加Visual Studio中的文件。
用编辑器打开.csproj修改配置文件的item组
<None Include="test.txt" />
-><AdditionalFiles Include="test.txt" />
您可以通过编译器的 AdditionalFiles
items in the .csproj
. They get expanded into /additionalfile:<path>
命令行选项添加分析器运行时配置。在 VS“15”预览中,您可以从 UI:
设置此项会将以下内容添加到您的 .csproj:
<ItemGroup>
<AdditionalFiles Include="test.txt" />
</ItemGroup>
您的分析器可以通过 AnalyzerOptions.AdditionalFiles, available in CompilationStartAnalysisContext.Options.
访问它们