Wie interne Schnittstellen sichtbar für Moq?

Ich habe 3 Projekt in meinem C# - Lösung.

  • Signaturen
  • Strukturen
  • Tests

Signaturen mit öffentlichen und internen Schnittstellen.
Auch hat es

  [assembly: InternalsVisibleTo("Structures")]
  [assembly: InternalsVisibleTo("Tests")]

in AssemblyInfo.cs.

Strukturen in öffentlichen und internen Klassen und

  [assembly: InternalsVisibleTo("Tests")]

in AssemblyInfo.cs.

Tests hat folgende Quelle:

<packages>
  <package id="Moq" version="4.2.1409.1722" targetFramework="net45" />
  <package id="NUnit" version="2.6.4" targetFramework="net45" />
  <package id="NUnitTestAdapter" version="1.2" targetFramework="net45" />
</packages>

als NuGet-Pakete in Pakete.config.

Schrieb ich einige unit-test für die interne Schnittstelle von Signaturen und interne Klasse von Strukturen. Laufen, und hatte neben Ergebnis: Ausnahme:

Art Unterschriften.- Interfacex gehe nicht sichtbar ist DynamicProxy. Kann nicht erstellen Sie den proxy für Typen, die nicht zugänglich sind. Die Art öffentliche oder interne und markieren Sie Ihre Montage mit [assembly: InternalsVisibleTo(InternalsVisible.ToDynamicProxyGenAssembly2)] - Attribut.

Scheint logisch. Ich Hinzugefügt
[assembly: InternalsVisibleTo("InternalsVisible.DynamicProxyGenAssembly2")], um die Montage info von Signaturen und Strukturen-Projekte. Laufen, und hatte neben Ergebnis: Ausnahme:

Typ 'Burg.Proxys.IReminiscenceableDataTableProxy' aus assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" ist der Versuch der Umsetzung einer unzugänglichen Oberfläche.

Dies war zu helfen, Tat es aber nicht.
Nur ändern sich die Ausnahme-Nachricht.

Wie zu beheben mein problem?

Schreibe einen Kommentar