新しいVisual Studio 2017 .csprojプロジェクトファイルのAssemblyInfoからInternalsVisibleToを配置する場所
上記のHans Passantのコメントを明確にするには、InternalsVisibleToをプロジェクト内のcsファイルに追加するだけです。たとえば、プロジェクトのルートにAssemblyInfo.csファイルを作成し、次のコンテンツ(のみ)を追加しました。
using System.Runtime.CompilerServices;
[Assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=<ADD_KEY_HERE>")]
誰かが.csproj
の代わりにAssemblyInfo.cs
ファイル内にInternalsVisibleTo
を配置したい場合に備えて(可能なシナリオは、テスト中のプロジェクトとテストプロジェクト)、次のようにできます:
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(MSBuildProjectName).Test</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
これにより、次のコードが生成されます
[Assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MyProject.Test")]
自動生成されたAssemblyInfo.cs内(例:デバッグ構成および.NET Standard 2.0ターゲット用)
/obj/Debug/netstandard2.0/MyProject.AssemblyInfo.cs