Question

Je suis en train d'ajouter un .NET 4.0 .dll dans le GAC. Je tente de le faire parce qu'il est publié par une société 3ème partie à la fois comme un 32 et 64bit .dll que je dois utiliser de différentes applications sur différentes plates-formes dans les deux formats.

En tout cas, je vais avoir du mal à inscrire ce dll au GAC sur un environnement Windows Server 2008.

Je l'ai essayé de copier gacutil.exe (et le fichier de soutien) se trouve à "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin \ netfx 4.0 Outils" sur ma machine locale à la « C : \ Windows \ Microsoft.NET \ Framework de v4.0.30319" dossier sur le serveur de production cible par les suggestions trouvées ici .

J'ai ensuite essayé de les copier sur. "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319"

L'exécution des deux endroits indiqués installation réussie. Et en effet, l'enregistrement semble réussie:

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Toutefois, l'exécution d'une application de la console qui fait référence à la version (64 bits) des erreurs dll avec le message suivant:

  

System.IO.FileNotFoundException: Could   pas fichier de chargement ou de montage   « ChilkatDotNet4.dll » ou un de ses   dépendances. Le module spécifié   Ne peut être trouvé. Nom de fichier:   'ChilkatDotNet4.dll'

Alors, je l'ai maintenant créé manuellement les entrées de GAC suivantes à l'aide mkdir et copier à partir d'une invite de commande (qui peut ou ne peut pas réellement le travail je n'ai aucune idée de ce qui est si spécial gacutil.exe.):

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll (en utilisant la version 64 bits de la dll)
  • C: \ Windows \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Après chaque « installer » de la dll, j'ai testé et a reçu la même erreur. Toutes les idées sont les bienvenus!


EDIT : la question du GAC ci-dessus ne peut pas réellement être le coupable. Il se trouve que, même lorsque je crée une nouvelle marque de projet App Console et ajoutez les .dll directement (de sorte qu'il vit dans la poubelle), je ne peut toujours pas courir sur le sever. De plus, je l'ai noté que les applications de la console sont créés ciblant le .NET 4.0 Client Profile plutôt que le .NET Framework 4. Lorsque je tente de l'exécuter cibler le profil du client, il semble qu'aucun des System.Web * bibliothèques sont disponibles . Cependant, j'ai essayé de courir un très simple application de test ciblant à la fois et ne courrais sur le serveur tout en faisant référence à la mauvaise .dll.

Y at-il un type particulier d'installation qui devait se produire pour exécuter .NET 4.0 Console Apps?

Était-ce utile?

La solution

Pour toute autre personne qui peut avoir des ennuis avec cela à l'avenir. Ce ne fut pas un problème généralisé avec la façon dont je l'enregistrement de la dll au GAC ou comment je faisais allusion il de mes projets.

ChilkatDotNet4.dll (et les autres versions, je suis sûr) a été construit en Visual C ++. Ainsi, le serveur, il est en cours de déploiement doit avoir à Visual C ++ Runtime installé pour l'architecture de processeur approprié.

Pour 2010 (.NET 4.0):

Si vous utilisez une application x86 sur une plate-forme 64 bits. Assurez-vous de marquer le pool d'applications avec "Activer les applications 32 bits" = true.

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