Ich spiele derzeit mit dem neuesten Visual Studio 2017 Release Candidate, indem ich eine .Net Standard 1.6-Bibliothek erstelle. Ich verwende xUnit zum Unit-Test meines Codes und habe mich gefragt, ob Sie noch interne Methoden in VS2017 testen können.
Ich erinnere mich, dass Sie alle eine Zeile AssemblyInfo.cs-Klasse in VS2015 verwenden könnten, die es bestimmten Projekten ermöglichen würde, interne Methoden anzuzeigen
[assembly:InternalsVisibleTo("MyTests")]
Da es in VS2017 .Net Standard-Projekten keine AssemblyInfo.cs-Klasse gibt, habe ich mich gefragt, ob Sie noch interne Methoden als Unit-Test durchführen können.
namespace
Blocks platzieren und es sollte kompiliert werden. Es sollte nichts Magisches sein AssemblyInfo.cs
. Funktioniert es nicht Natürlich müssen Sie die richtige using
Klausel hinzufügen oder das vollständig qualifizierte Attribut verwenden [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Something")]
.
InternalsVisibleTo
ist dies kritisch - z. B. hier - stackoverflow.com/a/17574183/43453