Как получить стандартный набор правил стиля в стандартном проекте .net - PullRequest
0 голосов
/ 10 октября 2018

Мы пытаемся предоставить пакет nuget для всех наших проектов с набором правил stylecop.Мы получаем файлы в проекте, но набор правил не применяется к нашим проектам.Он по-прежнему использует minimimumrecomended.ruleset.

Теперь у нас есть:

Custom.stylecop.props

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <RunCodeAnalysis>true</RunCodeAnalysis>
    <CodeAnalysisRuleSet>Custom.StyleCop.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
</Project>

custom.stylecop.targets

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)\Content\stylecop.json">
      <Link>stylecop.json</Link>
    </AdditionalFiles>
  </ItemGroup>
</Project>

Custom.stylecop.nuspec

<contentFiles>
    <files include="Content/stylecop.json" buildAction="EmbeddedResource" />
</contentFiles>
....
<files>
    <file src="build\**" target="build" />
    <file src="Content/stylecop.json" target="contentFiles" />
</files>

Есть ли у кого-нибудь идеи или примеры на github или около того, где мы можем найти пример, потому что мы не смогли их найти.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Мы решили проблему следующим образом:

CodeAnalysis.props

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)..\CodeAnalysis.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <ItemGroup>
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" />
  </ItemGroup>
</Project>

CodeAnalysis.nuspec

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>CodeAnalysis</id>
        <version>1.0.0</version>
        <description>Roslyn analyzers, rule sets and additional configuration to be used for Code Analysis</description>
        <authors></authors>
        <owners></owners>

        <dependencies>
          <dependency id="Stylecop.Analyzers" version="1.0.2" />
        </dependencies>
    </metadata>
    <files>
      <file src="stylecop.json" />
      <file src="CodeAnalysis.ruleset" />
      <file src="CodeAnalysis.props" target="build" />
    </files>
</package>
0 голосов
/ 06 января 2019

В наших проектах Xamarin.Forms исправление было ручным процессом редактирования файла .NET Standard .csproj.Если есть лучший способ, пожалуйста, дайте мне знать!

  1. Сначала откройте ваш проект .NET Standard в текстовом редакторе (_Notepad ++)
  2. Затем добавьте <CodeAnalysisRuleSet> ... </CodeAnalysisRuleSet> внутри <PropertyGroup>.
<PropertyGroup>
    <CodeAnalysisRuleSet>..\stylecop.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
( необязательно ) Если вы хотите получить доступ к этим файлам внутри своего проекта, вы можете создать ItemGroup, используя <AdditionalFiles ... />.
<ItemGroup>
    <AdditionalFiles Include="..\stylecop.json" />
    <AdditionalFiles Include="..\stylecop.ruleset" />
</ItemGroup>

Ссылка

https://github.com/dotnet/roslyn/blob/master/docs/compilers/Rule%20Set%20Format.md

...