3

我将使用 Roslyn 代码分析器开发一些规则。这条规则是为了控制一个命名空间的访问。例如,DAL 只能使用核心。如果视图使用 DAL,我想要一个警告。

我使用“Visual Studio 2015 Community Edition”中的“Analyzer with Code Fix (NuGet + VSIX)”模板来生成插件。

我做了一些测试,它工作正常。但是,该规则在代码中很难写。我不知道如何在运行时配置规则。最好是解决方案或项目中的配置文件。

你能给我举个例子吗?

感谢。

解决方案简历:

  1. 在分析的项目中添加 Visual Studio 中的文件。
  2. 用编辑器打开 .csproj 修改配置文件的项组。

    <None Include="test.txt" /> -> <AdditionalFiles Include="test.txt" />

读取文件的示例

4

1 回答 1

4

您可以AdditionalFiles通过.csproj. 它们被扩展为/additionalfile:<path>编译器的命令行选项。在 VS "15" 预览中,您可以从 UI 中执行此操作:

在此处输入图像描述

设置此项会将以下内容添加到您的 .csproj:

<ItemGroup>
  <AdditionalFiles Include="test.txt" />
</ItemGroup>

您的分析器可以通过CompilationStartAnalysisContext.OptionsAnalyzerOptions.AdditionalFiles 访问它们。

于 2016-06-01T19:14:21.090 回答