1

據我所知有兩種方式來分配和消費羅斯林分析儀: -我可以在定義的解決方案中使用roslyn分析儀嗎?

  1. 作爲一個Visual Studio插件
  2. 作爲NuGet包

我經常發現自己想要執行某些特定於域的限制,以及方便的代碼修復。 (例如,「我們需要實體框架延遲加載,因此WidgetFrobber.EntityFrameworkEntities名稱空間中的每個導航屬性都應該是虛擬的。」)

編寫一個微小的分析器會造成構建失敗,如果我的團隊中有人意外地寫了public ICollection<Widget>而不是public virtual ICollection<Widget>,但是由於這個假設的分析器並不打算在我的團隊之外共享(或者事實上,超出了它定義的.sln),我寧願不分發插件或更新nuget包每當我更新分析儀時。

  • References -> Add Reference -> Project讓我參考分析儀的類型,但實際上並沒有將它添加爲分析儀。

  • References -> Analyzers -> Add Analyzer -> Browse...期望得到.dll而不是項目引用。

是否有可能引用定義它,因爲我可以引用另一個項目以相同的方式的.sln內羅斯林分析?

回答

2

您可以單擊添加分析器,然後添加項目構建的DLL。

您可能想要添加發布版本(除非您在構建調試之前必須先發布)。

+0

啊!據推測,如果我設置瞭解決方案配置,以便Debug配置構建分析儀的Release配置,並設置項目依賴關係以便首先構建分析儀,那應該解決? –

+0

@IainGalloway:是的。或者,您可以編輯'csproj'來使用引用DLL的路徑中的當前配置(儘管VS可能會在保存時覆蓋該配置)。 – SLaks

+0

完美,謝謝! –

相關問題