2009-03-06 8 views
4

Je suis en train de développer un complément de studio visuel, mais quand je ferme un studio visuel et éteins ma machine et que je reviens le lendemain, je ne peux pas construire le complément car il est actuellement chargé en studio visuel. Comment puis-je résoudre ce problème afin de ne pas supprimer manuellement la suppression et de réinstaller le complément chaque fois que je souhaite déboguer ou modifier mon complément?Développement Visual Studio Addin - Comment résoudre le problème "Le processus ne peut pas accéder au fichier" après la sortie de Visual Studio?

Répondre

3

AddIns sont généralement chargés par fichier .AddIn qui est placé dans l'un des emplacements

C: \ Documents and Settings \ All Users \ Application Data \ Microsoft \ MSEnvShared \ Addins \ C: \ Documents and Settings \ Computer.User \ Mes documents \ Visual Studio 2008 \ Addins

Lorsque je fais le développement AddIn, je démarre Visual Studio avec un fichier .bat spécial. J'utilise aussi AddIn lorsque je travaille sur d'autres projets, donc il y a des complications supplémentaires. Voici un exemple du fichier que j'utilise:

:: My installed .AddIn file goes in All Users directory 
move "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn" "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn_" 

:: just in case it got left from the previous session 
del "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn" 

:: start Visual Studio and open AddIn solution 
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" D:\dev\Sample.sln /resetaddin Sample.Connect 

:: this will execute after Visual Studio is closed 
del "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn" 

:: This is needed because my installed AddIn, and the one I'm developing are in different directories, yet have the same name. That confuses studio and this line sets things straight 
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetaddin Sample.Connect /Command File.Exit 

:: restore installed AddIn file 
move "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn_" "C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\Sample.AddIn" 

exit 

Je fais aussi ce sur l'événement Prebuilt dans le projet AddIn:

copy "$(ProjectDir)\Sample_dbg_.AddIn" "C:\Documents and Settings\Computer.User\My Documents\Visual Studio 2008\Addins\Sample_dbg_.AddIn" 

vous pouvez également regarder dans le paramètre de ligne de commande Visual Studio/rootsuffix, mais je n'a pas été en mesure de trouver une solution autour de cela.

0

Vous pouvez définir le comportement de l'addin et comment il se charge, je l'ai mis à «charger sur demande» que je suis actuellement en train de vous trouver des informations sur.

Je ne trouve rien d'officiel mais si vous allez dans le projet d'installation, faites un clic droit et sélectionnez "Afficher le registre" il vous montrera toutes les clés de registre qui sont créés. Naviguez jusqu'au niveau de votre addin et changez le 'LoadBehavior' de '3' à '2'.

Ensuite, vous devriez pouvoir charger votre complément en utilisant le Gestionnaire Addin.

Je vais essayer de mettre à jour avec plus d'informations quand je peux l'obtenir, j'espère que cela aide.

+0

Je n'ai pas un projet « d'installation », je viens de recevoir un projet avec un C# Addin qui, lorsqu'il est lancé fraye un deuxième studio visuel avec le Addin installé. Mais si je ferme les deux studios visuels et que je démarre une nouvelle instance, le studio visuel original a maintenant l'addin chargé, ce qui m'empêche de construire –

+0

Je dois courir maintenant mais j'y regarderai plus tard pour vous. –

Questions connexes