Comment puis-je dire à mon application ASP.NET pour utiliser une version d'un assemblage fortement nommé?

StackOverflow https://stackoverflow.com/questions/862150

  •  21-08-2019
  •  | 
  •  

Question

J'ai une application ASP.NET qui utilise une bibliothèque .NET personnalisée (un fichier .DLL). Ce fichier .DLL est fortement nommé. La bibliothèque a souvent des petites mises à jour, et je voudrais être en mesure de mettre à jour ce fichier .dll sans recompiler l'application. L'application doit être précompilés parce que je ne veux pas donner la source de celui-ci à mes clients (pas qu'il ne peut pas être décompilé, mais qui est d'ailleurs le point).

Peut-on faire en quelque sorte? Actuellement, je viens d'obtenir une erreur que le .DLL est de la mauvaise version.

Était-ce utile?

La solution

Vous pouvez leur fournir un fichier de configuration mis à jour pour aller avec la nouvelle dll. Cette configuration doit avoir une version personnalisée des demandes de réorientation de la politique de l'un à l'autre dll. Voir cet article pour plus d'informations.


En fait, cet article a plus d'informations sur le processus et les différents niveaux que vous pouvez définir un la politique de la version à.

Autres conseils

Vous pouvez utiliser la réflexion pour charger l'ensemble dinamically lors de l'exécution. Activator.CreateInstance devrait faire l'affaire.

IMyInterface myObject = (IMyInterface)Activator.CreateInstance( "TheAssemblyName",
                                            "TheTypeName",
                                            null )

Si vous utilisez .Net 3.5, vous pouvez utiliser les compléments et Extensibilité. Jetez un coup d'oeil ici: http://msdn.microsoft.com/en-us/library/bb384241. aspx

Peut-être que vous pouvez simplement mettre les dll fortement typés dans le gac, fin ne versioning dll, donc l'ancienne version sera toujours disponible et la nouvelle ne de sera utilisé par les nouvelles applications compilées et les applications les plus anciennes seront utilisées leur ancienne version dll jusqu'à ce qu'ils soient compilés et déployés à nouveau.

Hope this helps peut-être.

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