Visual studio 2017 Nouveau.csproj InternalsVisibleTo

où placer Internalvisibleto de AssemblyInfo dans le nouveau Visual Studio 2017 .dossier du projet csproj?

16
demandé sur Luka 2017-03-15 16:07:10

2 réponses

pour clarifier le commentaire DE Hans Passant ci-dessus, il vous suffit d'ajouter Internalvisibleto à n'importe quel fichier cs de votre projet. Par exemple, j'ai créé un AssemblyInfo.cs fichier à la racine du projet, puis ajouté les informations suivantes (uniquement):

using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=<ADD_KEY_HERE>")]
21
répondu CloudPicnic 2017-04-03 15:22:00

Juste au cas où quelqu'un voudrait mettre InternalsVisibleTo dans un .csproj au lieu de AssemblyInfo.cs (un scénario possible est d'avoir une convention de nommage entre un projet à l'essai et un projet à l'essai), vous pouvez le faire comme ceci:

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

ayant ceci le code suivant sera généré

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

à l'intérieur de l'auto-générés AssemblyInfo.cs (par exemple pour la configuration de débogage et la cible standard 2.0 de .NET)

/obj/Debug/netstandard2.0/MyProject.AssemblyInfo.cs
28
répondu Ivan Zaruba 2018-04-23 09:57:07