Где я могу поместить InternalsVisibleTo из AssemblyInfo в новый файл проекта Visual Studio 2017.csproj?
Visual Studio 2017 и новый .csproj InternalsVisibleTo
Ответ 1
Чтобы прояснить комментарий Hans Passant выше, вам просто нужно добавить InternalsVisibleTo в любой файл cs в вашем проекте. Например, я создал файл AssemblyInfo.cs в корне проекта, а затем добавил следующий контент (только):
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=<ADD_KEY_HERE>")]
Ответ 2
На всякий случай, если кто-то захочет поместить InternalsVisibleTo
в файл .csproj
вместо AssemblyInfo.cs
(возможный сценарий - это соглашение об именовании между тестируемым проектом и тестовым проектом), вы можете сделать это следующим образом:
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(MSBuildProjectName).Test</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
После этого будет сгенерирован следующий код
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MyProject.Test")]
внутри автоматически сгенерированного AssemblyInfo.cs (например, для конфигурации Debug и цели .NET Standard 2.0)
/obj/Debug/netstandard2.0/MyProject.AssemblyInfo.cs