Où dois-je placer InternalsVisibleTo depuis AssemblyInfo dans le nouveau fichier de projet Visual Studio 2017 .csproj?
Pour clarifier le commentaire de Hans Passant ci-dessus, il vous suffit d'ajouter InternalsVisibleTo à n'importe quel fichier cs de votre projet. Par exemple, j'ai créé un fichier AssemblyInfo.cs à la racine du projet, puis ajouté le contenu suivant (uniquement):
using System.Runtime.CompilerServices;
[Assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=<ADD_KEY_HERE>")]
Juste au cas où quelqu'un voudrait mettre InternalsVisibleTo
dans un .csproj
fichier au lieu de AssemblyInfo.cs
(n scénario possible est d'avoir une convention de dénomination entre un projet sous test et un projet de test), vous pouvez le faire comme ceci:
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(MSBuildProjectName).Test</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
Ayant cela, le code suivant sera généré
[Assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MyProject.Test")]
dans AssemblyInfo.cs généré automatiquement (par exemple pour la configuration de débogage et la cible .NET Standard 2.0)
/obj/Debug/netstandard2.0/MyProject.AssemblyInfo.cs