2017-07-28 7 views
0

私たちは、Microsoftのデフォルトルールセットに基づいて当社のカスタムルールセットを作成しようとしていますが、これは正常に動作します。 StyleCop.Analysersはうまく機能し、警告とエラーは適切に作成されます。ビルドサーバーでも動作します。ProjectのStyleCop.Analyzersルールセットは他のソリューションにも表示されます

ただし、Solution1のProjectAに追加するルールセットは、Solution2のProjectBのルールセットのリストに記載されています。これは問題だ。このルールセットを選択すると、ローカルで動作しますが、チェックしても他の誰にも同じパスはありません。これらのルールセットをナゲットで提供したいので、すべての会社のルールセットは同じ名前であり、互いに区別できません。したがって、たとえそうであっても、現在のソリューションに適切なものを見つけることは本当に難しいです。

これは明らかにうんざりしており、意図した動作モードであるとは思えません。私は何を逃したのですか?ルールセットには、マシン全体ではなくローカルスコープにするフラグがありますか?マイクロソフトでは、プロジェクト内でrulsetsを作成することをサポートしています。なぜ、関係のないソリューションで利用できるのでしょうか?

これを回避してVS拡張機能として一度インストールする必要がありますか?これは、テキストファイルにとっては非常に複雑です。これはVS2017のバグですか?

任意のポインタを大幅に

に感謝 - 私はrulsetはここにインストールすることができます

- アップデート:

「C:\プログラムファイル(x86の)\ 2017 \エンタープライズ\チーム\のMicrosoft Visual Studioのツール\静的解析ツール\ルールセット "

VS2017によってピックアップされます。それは素晴らしいですが、ビルドサーバーをビルドしようとするとファイルがなくなり、人のマシンに異なるバージョンが発生する可能性があります。これは完全な混乱です。

私は、ソリューションにルールセットを追加し、そのソリューション内でルールセットを使用できるようにする必要があります。

- さらに更新 - それはフレーク状である編集者のよう

が見えます。ルールセットをロードすると、それを保持する内部リストにルールセットが追加されます。利用可能なルールセットのドロップリストに行くたびに、それが利用可能なルールセットが表示されます。

答えて

0

だから誰もが分かっていない限り、このプロセスはvs2017で破損しているようです。私の回避策は、Nugetパッケージが配備されているプロジェクトのネームスペースをルールセット名に追加することです。これはドロップリストの重複を止めるわけではありませんが、実際にはその違いを伝え、ルールセットの正しいコピーを選ぶことができます。

NuGetのルルセットをインストールするにはどうすればいいですか?ファイル名の最後に ".pp"を追加すると、ファイルはプレースホルダーのために解析されます。したがって、この場合には、私の「Test.ruleset.pp」ファイルは、このようにノードを持つことになります。

<RuleSet Name="$rootnamespace$ Recommended Debug RuleSet" Description=" " ToolsVersion="15.0"> 

はい、これは名前が進むにつれて、むしろ冗長で、そのルールセットのプロセスが壊れていることを、マイクロソフトで文句を言うに行きます。

ここに他のプレースホルダがあります: https://msdn.microsoft.com/library/vslangproj.projectproperties_properties.aspx

関連する問題