2017-11-02 10 views
0

私の共通プロジェクト(NuGetパッケージ)にAsyncUsageAnalyzersをインストールしました。依存するすべてのパッケージ/アプリケーションにルールを適用したいその上に。 UseConfigureAwaitルールの重大度を変更し、.rulesetが作成されました。csprojのビルドフォルダにファイルを追加する方法.nuspecなしのNuGetパッケージ

私はhttps://stackoverflow.com/a/20271758/2663813に、特定の構造のNuGetパッケージが必要であることを読みました。主張は、ここで確認されているhttps://stackoverflow.com/a/46115423/2663813

私が今持っているもの:

ビルド/ Common.ruleset

<?xml version="1.0" encoding="utf-8"?> 
<RuleSet Name="My common analyzer rules" Description="The rules that are enforced on all of my projects" ToolsVersion="10.0"> 
    <Rules AnalyzerId="AsyncUsageAnalyzers" RuleNamespace="AsyncUsageAnalyzers"> 
    <Rule Id="UseConfigureAwait" Action="Error" /> 
    </Rules> 
</RuleSet> 

ビルド/ My.Package.Id.targets

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)Common.ruleset</CodeAnalysisRuleSet> 
    </PropertyGroup> 
</Project> 

で私の.csproj

<Import Project="build\My.Package.Id.targets" /> 

私の質問は:私はそれをやったことがあり、ルールは私のプロジェクトに正しく適用されています。build/フォルダの中のNuGetパッケージの中にファイルbuild/のファイルを追加するにはどうすればいいですか?私はリンクで言及されている.nuspecファイルを使ってそれを行うことができることを知っていますが、私は新しい.csproj構文でそれをしたいと思います。コメントの中で、MarkPflugが翻訳を与え、参考のために https://docs.microsoft.com/en-us/nuget/schema/msbuild-targets#pack-scenariosを引用し、ページhttps://docs.microsoft.com/en-us/dotnet/core/tools/csproj#nuget-metadata-properties

:あまりにも速く投稿するための

答えて

1

申し訳ありませんが、私はちょうど私の目の前で解決策を見つけました。項目がプロジェクトにすでにある場合

<ItemGroup> 
    <None Include="build\**" Pack="True" PackagePath="build\" /> 
    </ItemGroup> 
+1

:私の場合は

は、私は次のように(Contentでも動作しますが、マーティン・ウルリッヒが指摘したように、Noneはここより良い選択である)PackagePathを使用する必要があります(おそらく 'None'ビルドアクションとして)、コンテンツインクルードの代わりに' 'を実行することができます。動くもの。 –

関連する問題