Question

J'ai essayé de convertir un projet qui repose sur les VJs à la durée d'exécution VS2010, mais il des erreurs lorsque vous essayez d'exécuter.

Il est en donnant l'erreur « Impossible de charger le fichier ou l'assembly « vjslib » ou une de ses dépendances. Vous avez essayé de charger un programme avec un format incorrect. »

Je réinstallée VJs l'exécution, mais il ne semble pas aider.

Y at-il moyen d'obtenir get .net 4 à travailler avec cela?

Était-ce utile?

La solution

solution très simple - Appel J # Code de .NET 4.0

Vous prenez le contrôle et le charger d'abord fournir un chemin explicite. Alors la prochaine fois que cela est nécessaire, il connaît déjà le chemin (ou il est déjà chargé dans le AppDomain).

Vous devez utiliser la fonction LoadLibrary, donc importer la référence PInvoke:

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

de la charge (soit fonction principale de la console / WinForms ou dans 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"));
}

Autres conseils

J'ai téléchargé Microsoft Visual J # Version 2.0 Redistributable Package http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=4712 et installé problème it.The est résolu.

Je suis à ce travail en copiant C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ vjsnativ.dll (pour 64 bits Microsoft.NET \ Framework64 \ v2.0.50727 \ vjsnativ.dll) pour le débogage de mon application / répertoire de sortie.

Je soupçonne que Microsoft devra libérer un autre j # package redistribuable à travailler avec .net 4.0. Pendant ce temps, ce travail autour fait un travail très bien.

La seule façon que je pouvais le faire au travail était de copier le répertoire C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ vjsnativ.dll dans le répertoire C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 dossier. Voir http://community.microfocus.com/borland/managetrack/starteam/w/knowledge_base/17108.error-unable-to-load- dll-vjsnativ-the-spécifiée-module peut-être sans-trouve-exception-de-hresult-0x8007007e.aspx

Pour ajouter aux réponses existantes, je trouve que les solutions n'a pas fonctionné pour moi.

La première chose que je faisais était de réparer le Microsoft Visual J # 2.0 package redistribuable -SE (x64) en utilisant le Panneau de configuration de Windows (Il suffit de faire un clic droit et cliquez sur Réparer). Ce fut au cas où je l'ai fait tout dommage dans mes précédentes tentatives pour résoudre le problème.

Je l'avais déjà mis en œuvre la solution proposée par David Thielen.

1 étape supplémentaire fermé l'affaire pour moi (résolu le problème): Copier "vjscor.dll", "vjslib.dll" et "vjsnativ.dll" de C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 C: \ Windows \ Microsoft .NET Framework \ \ v2.0.50727

Donc, fondamentalement, le package Microsoft placé les dll correctes dans le cadre .NET 64 bits et je devais les déplacer manuellement dans le dossier 32 bits qui est ensuite collé-copie dans mon dossier de solution par la solution de David Thielen (ci-dessus) .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top