У меня есть макрос, который открывает решение, подключается к SourceSafe и загружает последнюю версию каждого файла внутри решения. К этому моменту все работает правильно.Visual studio 2008 macro для получения исходного кода
Теперь я хочу, чтобы выполнить devenv.exe с/командной опцией, чтобы запустить этот макрос и закройте среду Visual Studio, как только исходный код загружается, и в этот момент у меня возникают некоторые проблемы:
Если я используйте макрос, подобный тому, который следует этим строкам, запускает Visual Studio, загружает решение, начинает получать исходный код и затем выходит, не дожидаясь полной загрузки кода.
DTE.Solution.Open("C:\ApeironDev\Soluciones\SolucioApeiron\SolucioApeiron.sln")
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("SolucioApeiron").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.ContextGetLatestVersion")
DTE.ExecuteCommand("File.Exit")
Если добавить строку в спящий макрос в течение некоторого времени, скажем, 20 минут, это происходит сбой с ошибкой относительно ошибки в COM вызова (я знаю, это не элегантный способ сделать эту работу, но чтобы проверить ...).
DTE.Solution.Open("C:\ApeironDev\Soluciones\SolucioApeiron\SolucioApeiron.sln")
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("SolucioApeiron").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.ContextGetLatestVersion")
Threading.Thread.Sleep(New System.TimeSpan(0, 20, 0))
DTE.ExecuteCommand("File.Exit")
Что я ищу способ, чтобы начать Visual Studio, загрузите решение, получить последнюю версию исходного кода (в ожидании завершения процесса), а затем закройте среду Visual Studio. Любая помощь?
Разъяснение, Чтобы запустить макрос я использую следующую командную строку:
devenv.exe /command "Macros.MyMacros.SourceControl.GetLastVersion"
Где Macros.MyMacros.SourceControl.GetLastVersion полный путь к макросу, содержащий код, приведенный выше описано.
http://stackoverflow.com/q/3923432/256431 может иметь значение. –