Question

Je suis responsable du maintien de l'héritage code VB6 et ont rencontré un problème gênant en ce qui concerne le verrouillage de COM DLL d'un projet. (Nous appellerons MyProject et MyProject.dll )

Quand je charge MyProject dans le VB6 IDE, je suis en mesure de compiler la DLL binaire compatible résultant MyProject.dll . Je peux alors exécuter mon application Web (ASP classique) que des crochets dans la DLL (ou quoi que ce soit d'autre d'ailleurs).

Alors, lorsque je tente de recompiler la DLL COM, je reçois une erreur « autorisation refusée ». Je puis me trouve avoir à effectuer les étapes suivantes pour que la DLL à déverrouiller:

  1. Vérifiez je n'ai pas de projets dans d'autres dépendants ouvrent IDEs VB6
  2. Recycle IIS
  3. Vérifiez le fichier est lu non seulement (il sera parfois si je l'ai vérifié pour le contrôle de la source)
  4. Fermer le projet et le rouvrir.

Il est souvent la dernière étape qui résout le problème, et me permet de recompiler, ce qui signifie que le VB6 IDE est en fait le verrouillage de la DLL du projet chargé!

Mon collègue m'a expliqué qu'il était de faire de la façon dont un projet VB6 fonctionne avec une compatibilité binaire sur la DLL, mais n'a pas pu proposer une résolution.

Mes recherches ont d'ailleurs donné très peu à la manière des réponses. Les requêtes de recherche qui sont liés à cette tendance à retourner beaucoup de réponses sans rapport avec (peut-être que je demande la mauvaise chose des moteurs de recherche).

La chose la plus proche que je pouvais trouver sur Stackoverflow était cette question à partir d'un il y a quelques années, mais il ne correspond pas vraiment au projet de loi.

Quelqu'un at-il d'autres suggestions qui pourraient améliorer cela?

Était-ce utile?

La solution

Gardez une copie de MyProject.dll nommé MyProject.cmp et réglage du point binaire compatible à votre fichier .cmp. De cette façon, vous aurez pas besoin de rouvrir le dossier de projet (étape 4).

Lors de l'enregistrement, vous pouvez marquer keep check-out pour sauter l'étape 3 aussi.

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