Как можно добавить привязки для функции Azure во время компиляции с MSBuild? - PullRequest
0 голосов
/ 23 июня 2018

У меня есть проект Azure с функцией C # в visual studio, в котором есть несколько триггеров темы служебной шины.У меня есть скрипт powershell, который можно запустить, чтобы скопировать файлы function.json, созданные в bin, и преобразовать их в привязки очереди.Единственная проблема состоит в том, что функции Azure представляют частную цель в msbuild после цели Build с именем _GenerateFunctionsPostBuild .Поэтому я пытаюсь найти способ запустить скрипт powershell после этого шага, чтобы мои изменения не были стерты уникальными сборками для функций Azure.

1 Ответ

0 голосов
/ 25 июня 2018

Поэтому я пытаюсь найти способ запустить скрипт powershell после этого шага, чтобы мои изменения не были стерты уникальными сборками для функций Azure.

Для этого вы можете добавить кастом для выполнения скрипта powershell после цели _GenerateFunctionsPostBuild, например <Target Name="InvokePowerShell" AfterTargets="_GenerateFunctionsPostBuild">.

Подробности шагов:

  1. Право вашего проекта, выберите Edit YourProjectName.csproj.

  2. В самом конце проекта, непосредственно перед конечным тегом </Project> , разместите ниже сценарии:

    <Target Name="InvokePowerShell" AfterTargets="_GenerateFunctionsPostBuild">
    
      <PropertyGroup>
        <PowerShellExe Condition=" '$(PowerShellExe)'=='' ">
        %WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe
        </PowerShellExe>
        <ScriptLocation Condition=" '$(ScriptLocation)'=='' ">
        C:\Path With Spaces\LogDeploy.ps1
        </ScriptLocation>
        <LogFileLocation Condition=" '$(LogFileLocation)'=='' ">
        C:\Path With Spaces\ContactManagerDeployLog.txt
        </LogFileLocation>
      </PropertyGroup>
      <Exec Command="$(PowerShellExe) -NonInteractive -executionpolicy Unrestricted 
                 -command &quot;&amp; { 
                          &amp;&apos;$(ScriptLocation)&apos; 
                          &apos;$(LogFileLocation)&apos; 
                          &apos;$(MSDeployComputerName)&apos;} &quot;" />
    
    </Target>
    

Тогда сценарий powershell будет выполнен после цели _GenerateFunctionsPostBuild.

Для Целевой порядок сборки и Запуск сценариев Windows PowerShell из файлов проекта MSBuild для получения дополнительной информации.

Надеюсь, это поможет.

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