.NETアセンブリへの特権アクセスを他の1つのアセンブリのみに許可する方法はありますか?
-
22-07-2019 - |
質問
クラスライブラリアセンブリといくつかのテストコードがあります。テストコードはクラスの内部を覗く必要があるため、アセンブリの一部である必要があります。また、テストコードをすべて自分で実行したくないので、別のアセンブリができるように何かパブリックにする必要があります。それを呼び出します。これにより、メインアセンブリに存在してはならないコードにタックします。
私が望むのは、すべてのテストコードを他のアセンブリに配置し、何らかの方法でクラスの内部にアクセスするための特権を付与することです。デバッグ/プライベートビルドの一部として、これを最終製品の一部にする必要はありません。
それは可能ですか?
解決
internal
アクセス修飾子を自由に使用し、 InternalsVisibleTo 属性をアセンブリに追加します。
他のヒント
System.Runtime.CompilerServices.InternalsVisibleToが必要です。 ()
リフレクションを使用して、内部/プライベートメンバーにアクセスすることもできます。これがMSTestのやり方です。
所属していません StackOverflow