2

かなり大きな (> 150 ソリューション) コード ベースを持つクライアントがいます。開発者が使用できる承認済みのサード パーティ アセンブリのリストがあり、Sonar を使用して、承認済みリストにないアセンブリを使用しているプロジェクトを特定したいと考えています。

簡単な例:

  • 私のソリューションは foo.dll を参照しています
  • Foo.dll は、承認されたサード パーティ アセンブリのリストにありません。
  • Sonar 分析を実行すると、ソリューションでの foo.dll の使用がルール違反として報告される

これはかなり単純な要件のように思えますが、Sonar でどのように実装するのが最適かを判断するのに苦労しています。

4

2 に答える 2

1

ツールNDependを使用すると、すぐに実行できます (免責事項: 私は NDepend の開発者の 1 人です)。コードルールを書くだけです:

//<Name>Forbidden third-party assemblies</Name>
warnif count > 0 
from a in ThirdParty.Assemblies.WithNameNotIn(
          "Foo1", "Foo2", "Foo3")
select a

ほらほら:

NDepend コード規則

于 2012-11-16T09:11:35.413 に答える
0

私はソナーの経験がなく、コードベースの言語を指定していませんが、非常に単純で基本的な解決策は、プロジェクト ファイル (通常は XML) を解析し、含まれている参照を検証することです。

于 2012-11-15T23:12:22.930 に答える