Разработка надстройки Visual Studio - Как решить проблему «Процесс не может получить доступ к файлу» после выхода из Visual Studio? - PullRequest
4 голосов
/ 06 марта 2009

В настоящее время я разрабатываю надстройку для Visual Studio, однако, когда я закрываю Visual Studio, выключаю компьютер и возвращаюсь на следующий день, я не могу создать надстройку, потому что она в настоящее время загружена в Visual Studio. Как исправить эту проблему, чтобы мне не приходилось вручную удалять и переустанавливать надстройку каждый раз, когда я хочу отладить или изменить свою надстройку?

Ответы [ 3 ]

3 голосов
/ 06 марта 2009

AddIns обычно загружаются файлом .AddIn, который находится в одном из этих мест

C: \ Documents and Settings \ Все пользователи \ Данные приложения \ Microsoft \ MSEnvShared \ Addins \ C: \ Documents and Settings \ Computer.User \ Мои документы \ Visual Studio 2008 \ Addins

Поэтому, когда я занимаюсь разработкой AddIn, я запускаю Visual Studio со специальным файлом .bat. Я также использую надстройку при работе над другими проектами, поэтому возникают дополнительные сложности. Вот пример файла, который я использую:

:: 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

Я также делаю это на событии Prebuilt в проекте AddIn:

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

Также вы можете посмотреть на параметр / rootsuffix командной строки Visual Studio, но я не смог найти решение по этому поводу.

0 голосов
/ 19 сентября 2009
0 голосов
/ 06 марта 2009

Вы можете установить поведение надстройки и способ ее загрузки, я бы установил для нее «загрузка по требованию», о которой я сейчас пытаюсь найти некоторую информацию.

Я не могу найти ничего официального, но если вы зайдете в проект установки, щелкните правой кнопкой мыши и выберите «Просмотр реестра», он покажет вам все созданные ключи реестра. Перейдите вниз к уровню вашего аддина и измените «LoadBehavior» с «3» на «2».

С этого момента вы сможете загружать надстройку с помощью диспетчера надстроек.

Я попытаюсь обновить информацию, если смогу, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...