Frage

Ich habe versucht, ein Projekt zu konvertieren, die Laufzeit zu VS2010 auf dem VJs beruht, aber es Fehler, wenn zu laufen versuchen.

Es gibt den Fehler, dass „Datei kann nicht geladen werden oder Assembly‚vjslib‘oder eine ihrer Abhängigkeiten. Es wurde versucht, ein Programm mit einem falschen Format zu laden.

ich neu installierte die VJs Laufzeit, aber es schien nicht zu helfen.

Gibt es eine Möglichkeit zu holen .net 4 Arbeit mit dieser?

War es hilfreich?

Lösung

Sehr einfache Lösung - Aufruf J # Code von .NET 4.0

Sie übernehmen die Kontrolle und laden Sie es zunächst einen expliziten Pfad zu liefern. Dann das nächste Mal es gebraucht wird, ist es bereits kennt den Weg (oder es ist bereits in der AppDomain geladen).

Sie müssen Loadlibrary Funktion nutzen, so importieren Sie die pinvoke Referenz:

[DllImport("kernel32", SetLastError = true)]
static extern IntPtr LoadLibrary(string lpFileName);

Die auf Last (entweder Hauptfunktion in Console / WinForms oder in Global.asax Application_Start):

if (Environment.Version.Major >= 4)
{
    string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727");
    folder = Path.GetFullPath(folder);
    LoadLibrary(Path.Combine(folder, "vjsnativ.dll"));
}

Andere Tipps

Ich habe von http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=4712 und installiert it.The Problem behoben ist.

Ich habe diese an der Arbeit durch Kopieren C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ vjsnativ.dll (für 64-Bit-Microsoft.NET \ Framework64 \ v2.0.50727 \ vjsnativ.dll) zu meiner Anwendung Debug / Release-Verzeichnis.

Ich vermute, Microsoft wird ein weiteres j # verteilbare Paket zur Arbeit mit .net 4.0 freigeben muß. Inzwischen diese Behelfslösung macht einen guten Job.

Die einzige Art, wie ich es an der Arbeit konnte, war die C zu kopieren: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ vjsnativ.dll in das C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 Mappe. Siehe http://community.microfocus.com/borland/managetrack/starteam/w/knowledge_base/17108.error-unable-to-load- dll-vjsnativ-the-specified-Modul-kann-nicht-sein-gefunden-Ausnahme-from-hresult-0x8007007e.aspx

Um die bestehenden Antworten hinzuzufügen, fand ich, dass die Lösungen für mich nicht funktioniert haben.

Das erste, was ich tat, war die Microsoft Visual J # 2.0 Redistributable -SE (x64) zu reparieren Windows-Systemsteuerung (einfach mit der rechten Reparatur klicken und klicken). Das war im Fall habe ich einen Schaden in meinen früheren Versuchen, das Problem zu beheben.

Ich hatte bereits implementiert, um die Lösung von David Thielen zur Verfügung gestellt.

1 Extra-Schritt geschlossen, um die Sache für mich (das Problem gelöst): Kopieren "vjscor.dll", "vjslib.dll" und "vjsnativ.dll" von C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 C: \ Windows \ Microsoft .NET \ Framework \ v2.0.50727

Also im Grunde das Microsoft-Paket platziert die richtigen DLLs in den 64-Bit-NET-Framework, und ich musste sie manuell in die 32-Bit-Ordner verschieben, die dann in meine Lösung Ordner eingefügt kopier wird von David Thielen-Lösung (siehe oben) .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top