Frage

Wenn ich versuche, Sharpsvn zu meinem C# -Projekt hinzuzufügen, gibt mir das Kompilieren mit Sharpsvn -Anrufen einen folgenden Fehler:

Die Fileloadexception wurde nicht gemischtem Modusversammlung gegen Version 'V2.0.50727' der Laufzeit erstellt und kann ohne zusätzliche Konfigurationsinformationen nicht in der Laufzeit 4.0 geladen werden.

Ich habe die Referenzen aus der heruntergeladenen Sharpsvn -Zip -Datei hinzugefügt und die hinzugefügt und die hinzugefügt

using SharpSvn;

Wenn ich zusammenstelle, dass es gut funktioniert, aber wenn ich hinzufüge:

string targetPath = "https://bobl/svn/ConsoleApplication1";

SvnTarget target;
SvnTarget.TryParse(targetPath, out target);

Es bricht mit diesem Fehler. Ich habe diesen Fehler durchsucht und kein Glück gehabt, eine Lösung zu finden.

War es hilfreich?

Lösung

Die Sharpsvn -Baugruppe ist eine gemischte Baugruppe, die gegen Version 2.0 des CLR gebaut wurde.
Daher kann es nicht in CLR Version 4.0 geladen werden.

Sie müssen Ihr Projekt in Projekteigenschaften auf .NET 3.5 (oder früher) ändern.
Da .NET 2.0, .NET 3.0 und .NET 3.5 alle Version 2.0 des CLR verwenden, funktioniert es in einer dieser Versionen.

Andere Tipps

Fügen Sie dies Ihrer App.config hinzu, wenn Sie weiterhin auf .net 4 abzielen möchten:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

Dies ermöglicht die Ladeunterstützung von Mischmodus -Baugruppen (hauptsächlich C ++/CLI -Baugruppen, die sowohl für eine ältere Version des Frameworks erstellt wurden.

Wie Julien erwähnt, müssen Sie den Kompatibilitätscode zum app.config oder web.config Ihres Projekts hinzufügen:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

Das ist alles gut und gut, aber wenn Sie dieses Problem mit einem Testläufer (wie MStest) in Visual Studio haben, müssen Sie diese Änderung in der Konfigurationsdatei des Testläufers tatsächlich vornehmen.

Ich habe einen Beitrag über dieses Problem in VS 2012 geschrieben:

http://www.diaryofaninja.com/blog/2012/09/13/net-20-mixed-mode-assemblies-in-visual-studio-net-45-test-projects

In Visual Studio 2012 müssen Sie den Startcode in die folgende Datei hinzufügen:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.executionengine86.exe.config
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top