LoginSignup
1
2

C# internal 型・メンバーを指定した Assembly からアクセス可能にする

Posted at

環境

Visual Studio 2022
※執筆時 v17.6.2

概要

主に UnitTest を実装中、別 Assembly の internal な型やメンバーにアクセスしたくなります。そんな時はプロジェクトファイルに数行追加して外部 Assembly からアクセス可能にしてあげましょう。

通常はせっかく internal に設定した型やメンバーを公開する必要はありません。
僕の低能では用途は UnitTest くらいしか思いつきません。。。

手順

  1. プロジェクトファイルを開く(「プロジェクトファイルの編集」)
  2. <Project></Project> 内に以下を追加する
  <ItemGroup>
    <InternalsVisibleTo Include="<アクセス可能にさせる Assembly の完全な名前>" />
  </ItemGroup>

Assembly の完全な名前はプロジェクト名を入れてあげればいいです。

結果

クラスライブラリ側で internal に設定した型とメンバーに UnitTest プロジェクトからアクセスすることができました。

クラスライブラリプロジェクト

image.png

xUnit プロジェクト

image.png

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2