net microsoft msbuild visual-studio-2017 csproj assemblyinfo

msbuild - microsoft - Visual studio 2017 nuevo.csproj InternalsVisibleTo



msbuild terminal (2)

¿Dónde colocar InternalsVisibleTo de AssemblyInfo en el nuevo archivo de proyecto de Visual Studio 2017.csproj?


En caso de que alguien quiera poner InternalsVisibleTo dentro de un archivo .csproj lugar de AssemblyInfo.cs ( un escenario posible es tener una convención de nomenclatura entre un proyecto en prueba y un proyecto de prueba ), puede hacerlo de la siguiente manera:

<ItemGroup> <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo"> <_Parameter1>$(MSBuildProjectName).Test</_Parameter1> </AssemblyAttribute> </ItemGroup>

Teniendo esto se generará el siguiente código

[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MyProject.Test")]

dentro de AssemblyInfo.cs generado automáticamente (por ejemplo, para la configuración de depuración y el destino .NET Standard 2.0)

/obj/Debug/netstandard2.0/MyProject.AssemblyInfo.cs


Para aclarar el comentario anterior de Hans Passant, simplemente debe agregar InternalsVisibleTo a cualquier archivo cs en su proyecto. Por ejemplo, creé un archivo AssemblyInfo.cs en la raíz del proyecto y luego agregué el siguiente contenido (solo):

using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=<ADD_KEY_HERE>")]