環境
Visual Studio 2022
※執筆時 v17.6.2
概要
主に UnitTest を実装中、別 Assembly の internal な型やメンバーにアクセスしたくなります。そんな時はプロジェクトファイルに数行追加して外部 Assembly からアクセス可能にしてあげましょう。
通常はせっかく internal に設定した型やメンバーを公開する必要はありません。
僕の低能では用途は UnitTest くらいしか思いつきません。。。
手順
- プロジェクトファイルを開く(「プロジェクトファイルの編集」)
-
<Project></Project>
内に以下を追加する
<ItemGroup>
<InternalsVisibleTo Include="<アクセス可能にさせる Assembly の完全な名前>" />
</ItemGroup>
Assembly の完全な名前はプロジェクト名を入れてあげればいいです。
結果
クラスライブラリ側で internal に設定した型とメンバーに UnitTest プロジェクトからアクセスすることができました。
クラスライブラリプロジェクト
xUnit プロジェクト
参考