1

私はそれを理解したようロスリンのアナライザを配布し、消費するには2つの方法があります: - Nugetパッケージとして 定義されているソリューション内からroslynアナライザを使用できますか?

  • プラグインVisual Studioのよう

    1. は私が頻繁に自分自身を特定強制したい見つけますドメイン固有の制限事項、および便利なコード修正が含まれています。たとえば、「Entity Frameworkの遅延読み込みが必要なため、WidgetFrobber.EntityFrameworkEntities名前空間の各ナビゲーションプロパティは仮想でなければなりません。」

      私のチームの誰かがビルドに失敗すると、誤ってpublic virtual ICollection<Widget>の代わりにpublic ICollection<Widget>と書いていますが、この仮想アナライザは私のチームを超えて共有されることは意図されていないため(実際は、定義されている.slnを超えて)、プラグインを配布したり、私がアナライザーを更新するたびに。

      • References -> Add Reference -> Project私はアナライザの型を参照することができますが、実際アナライザとして追加されません。

      • References -> Analyzers -> Add Analyzer -> Browse...は、プロジェクト参照ではなく.dllが必要です。

      それは私が別のプロジェクトを参照することができます同じように、それを定義するの.sln内ロザリンアナライザを参照することは可能ですか?

    答えて

    2

    [アナライザーの追加]をクリックして、プロジェクトによって作成されたDLLを追加できます。

    リリースビルドを追加することをお勧めします(デバッグをビルドするにはリリースをリリースする必要があります)。

    +0

    Ah!おそらく私は、デバッグの設定がアナライザのリリース設定を構築し、アナライザが最初に構築されるようにプロジェクトの依存関係を設定するようにソリューションの設定を設定する場合、それはうまくいくはずですか? –

    +0

    @IainGloway:はい。あるいは、 'csproj'を編集して、参照されたDLLへのパスに現在の設定を使用することができます(ただし、VSは保存時に上書きされます)。 – SLaks

    +0

    パーフェクト、ありがとう! –

    関連する問題