.NETアセンブリへの特権アクセスを他の1つのアセンブリのみに許可する方法はありますか?

StackOverflow https://stackoverflow.com/questions/640552

  •  22-07-2019
  •  | 
  •  

質問

クラスライブラリアセンブリといくつかのテストコードがあります。テストコードはクラスの内部を覗く必要があるため、アセンブリの一部である必要があります。また、テストコードをすべて自分で実行したくないので、別のアセンブリができるように何かパブリックにする必要があります。それを呼び出します。これにより、メインアセンブリに存在してはならないコードにタックします。

私が望むのは、すべてのテストコードを他のアセンブリに配置し、何らかの方法でクラスの内部にアクセスするための特権を付与することです。デバッグ/プライベートビルドの一部として、これを最終製品の一部にする必要はありません。

それは可能ですか?

役に立ちましたか?

解決

internal アクセス修飾子を自由に使用し、 InternalsVisibleTo 属性をアセンブリに追加します。

他のヒント

System.Runtime.CompilerServices.InternalsVisibleToが必要です。 ()

リフレクションを使用して、内部/プライベートメンバーにアクセスすることもできます。これがMSTestのやり方です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top