Доступ к EnvDTE из кода сборки при сборке в Visual Studio - PullRequest
3 голосов
/ 17 июля 2010

Когда я делаю сборку из Visual Studio, при пост-сборке я выполняю сценарий PowerShell из MSBuild, используя задачу PowerShell MSBuild (http://powershellmsbuild.codeplex.com/). В этом коде PowerShell я хотел бы добавить / изменить элементы в своем проекте использование автоматизации Visual Studio (через объект EnvDTE).

Точный случай:

Для каждого файла X.asmx в моем проекте мне нужно добавить файлы Xwsdl.aspx и Xdisco.aspx, которые не нуждаются в компиляции. Я хочу сделать это только в том случае, если эти файлы еще не созданы или если файл asmx новее, чем текущие файлы Xwsdl.aspx и Xdisco.aspx. В случае, если вам интересно, зачем мне нужны эти дополнительные файлы: это вещь SharePoint.

Дополнительно:

Просто добавил следующий код PowerShell в исполняемый скрипт:

$ process = [System.Diagnostics.Process] :: GetCurrentProcess () Write-Host "Имя процесса: $ ($ a.ProcessName)"

Что возвращает:

Имя процесса: devenv

Это означает, что msbuild выполняется в контексте процесса Visual Studio.

...