私たちのナゲットパッケージからカスタムルールセットファイルを使用しようとしています。私はパッケージ.propsファイルのビルドフォルダに追加した:コード解析は、(.propsの)nugetパッケージのルールセットでは機能しません
<Project>
<PropertyGroup>
<CodeAnalysisRuleSet>
$(MSBuildThisFileDirectory)..\My.Shared.ruleset
</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
</Project>
ルール設定ファイルは、パッケージのルートフォルダにある、パスは.propsのインポートがcsprojファイルにファイルを追加することだ、正しいです。
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props" Condition="Exists('..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
...
しかし、Visual Studioでは正しいルールセットが表示されません。参照 - >アナライザからアクティブなルールセットを開くと、別のファイルを指しています:MinimumRecommendedRules.rulesetこれは私のカスタムではなくこのファイルのルールを使用しています。
- Visual Studioの地域コミュニティ2017バージョン15.5.0
- 4.6.1
私たちは、ルールセットファイルを各プロジェクトにコピーすることを避けようとしていました。開発者はそれを変更してリポジトリにプッシュする傾向があります)ビルドでは適切なルールセットが見つかっているため、Visual Studioのバグは適切な場所では見えません。 –
@MateuszMoska、ルールセットファイルを各プロジェクトにコピーしたくない場合は、.propsファイルのパスを変更するだけですが、パスが.propsファイルで正しいことを確認する必要があります。サンプルテストでは、私の側でうまく動作します。私の更新された答えを詳細にチェックすることができます。 –
@MateuszMoska、この問題のアップデートはありますか?あなたの問題を解決しましたか?そうでない場合は、この問題の最新の状況を教えてください。 –