2010-04-17 6 views
32

Nous avons un projet d'installation dans la solution Visual Studio (Autres types de projets -> Configuration et déploiement -> Projet d'installation). Ce projet a un autre projet de type bibliothèque avec une classe d'installation nommée InstallationCore comme sortie du projet. Dans l'action de l'utilisateur, j'appelle à installer et désinstaller les fonctions du programme d'installation d'InstallationCore. Installation12Core a des formulaires Windows pour l'interaction avec l'utilisateur. Là, dans les formulaires, j'utilise la fonctionnalité glisser-déposer pour glisser et déposer du texte de l'arborescence à la zone de texte.
Mais en ligne:Enregistrement DragDrop n'a pas réussi dans le projet d'installation

txbUserName.AllowDrop = true; 

J'obtiens l'erreur de JIT debugger:

exception non gérée est survenue
enregistrement DragDrop n'a pas réussi
System.InvalidOperationException: inscription dragdrop n'a pas réussi

Et longue trace de pile après cela.
Il est important de préciser que lorsque j'exécute la fonction d'installation du projet de test, l'erreur ne s'est pas produite et tout fonctionne correctement. Une erreur se produit uniquement lorsque j'exécute le package .msi.

Des suggestions?

+3

La cause est décrite ici: http://stackoverflow.com/questions/135803 Mais je ne suis pas sûr si la solution peut être appliquée dans les projets d'installation. – dtb

+0

+1 @dtb, c'est entièrement correct. Il existe une solution possible [ici] (http://www.ozcandegirmenci.com/post/2010/08/Visual-Studio-Setup-Project-OLE-Call-And-Dialog-Show-Support.aspx). – ssamuel

Répondre

0

Veuillez essayer de nettoyer le répertoire BIN.

0

Veuillez supprimer tout votre dossier Obj de votre répertoire de solution et de la solution de reconstruction. Rappelez-vous de ne pas construire seulement reconstruire. Parce que Build ne prépare que les nouveaux changements dans la dernière build réussie. Pour cela, utilisez l'option Re-Build.

0

Construction: - pour créer des fichiers et remplacer ou sur-traiter tous les fichiers, qu'ils soient présents dans le dossier bin ou non. Reconstruire: - Utiliser le fichier existant s'il n'y a pas de modification. Nettoyer: - Il supprime tous les fichiers de l'emplacement de la corbeille.

Recommandé est Clean, puis Build, si vous n'avez pas besoin des références et de la construction de fichiers connexes, utilisez toujours re-build. En dehors de cela, dans RUN, (bouton Windows + R), allez dans Dossier temporaire (Tapez% temp% en RUN) il y a un dossier lié aux fichiers temporaires .NET, essayez de supprimer cela si vous ne parvenez pas à supprimer Ensuite, fermez Visual Studio, puis essayez de le supprimer. Ceci est créé chaque fois que nous construisons ou reconstruisons l'application et cela crée parfois des problèmes.

1

Avez-vous des multi-threads à l'origine de ce problème. Si oui, trouver et de les forcer à STA

trd = New Threading.Thread(AddressOf ThreadTask) 
trd.IsBackground = True 
trd.SetApartmentState(ApartmentState.STA) 
1

je fixe ce problème en supprimant mon bin répertoire.

Questions connexes