Разработка надстроек Visual Studio - Как решить & # 8220; Процесс не может получить доступ к файлу & # 8221; проблема после выхода из визуальной студии?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Поэтому, когда я занимаюсь разработкой 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, но я не смог найти решение по этому поводу.

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top