Я использую шаблон построения по умолчанию для Visual Studio 2013. Я использовал сценарии предварительной сборки/пост-сборки для запуска сценариев Powershell в течение некоторого времени. Я смог получить доступ к переменным среды в этих сценариях, но теперь мне нужно получить доступ к свойствам, определенным в проекте Visual Studio. Специфическое свойство, которое я хочу получить в сценарии Powershell после сборки, - $ Configuration.Visual Studio 2013 Build Post-Build Powershell Script
Открываю диагностику сборки, которую я выполняю. Я могу подтвердить, что имущество передается в исполнении MSBuild для построения проекта, как этот
/p:Configuration="Release"
я добавить к аргументам после построения сценария, как это (я также попытался это одинарные кавычки/двойные кавычки/все колпачки)
-Configuration $Configuration
в сценарии Powershell сам я получить доступ к значению свойства через пары, как это:
[CmdletBinding()]
param(
[string]$Configuration
)
то я стараюсь, чтобы написать значение этого параме тер в сценарии Powershell, как этот
Write-Host "Checking Configuration: " + $Configuration
Я могу увидеть эту линию, когда я смотрю на диагностику от сборки, но проблема в том, что значение параметра всегда строковый литерал я прохожу в пост- строить сценарии, но никогда не заменить значение параметра Debug или Release. Вот некоторые примеры того, что печатается
Проверка конфигурации: $ конфигурация
Проверка конфигурации: "$ Конфигурация"
Проверка конфигурации: '$ Конфигурация'
Проверка конфигурации: $ КОНФИГУРАЦИИ
Можно ли сделать то, что я пытаюсь сделать, - это свойства проекта доступны для сценариев после сборки? Похоже, что это должно быть возможно, если вы прочитаете другие вопросы на этом сайте, а также сообщения на других сайтах. Есть что-то простое из сложного, которого я не хватает? Благодаря!
Вы пробовали с '-конфигурация $ (Configuration)' для прохождения аргумент? Так обычно это делается в настройках VS, так как это происходит в файлах проекта, которые интерпретируются с помощью msbuild, а $ (свойство) - это синтаксис, используемый msbuild – stijn
. Да. Я пробовал комбинации с круглыми скобками типа $ (CONFIGURATION) OR $ (Конфигурация) ИЛИ '$ (Конфигурация)', но конечный результат в диагностике сборки одинаковый, я получаю такие результаты, как «Проверка конфигурации: + $ (КОНФИГУРАЦИЯ)» ИЛИ «Проверка конфигурации: + $ (Конфигурация)» ИЛИ "Проверка конфигурации: + '$ (Конфигурация)'". Я попробовал каждую из этих комбинаций снова, чтобы быть уверенным. – JonPorterJones