繁体   English   中英

如何使用MSBuild在编译时添加Azure函数的绑定?

[英]How can bindings for azure function be added at compile time with MSBuild?

我在Visual Studio中有一个Azure函数C#项目,其中有一些服务总线主题触发器。 我有一个powershell脚本,可以运行该脚本来复制bin中生成的function.json文件,并将其转换为队列绑定。 唯一的问题是,azure函数在名为_GenerateFunctionsPostBuild的生成目标之后,在msbuild中引入了私有目标。 因此,我试图在此步骤之后寻找一种运行Powershell脚本的方法,以使我的更改不会被用于Azure函数的独特构建所抹去。

因此,我试图在此步骤之后寻找一种运行Powershell脚本的方法,以使我的更改不会被用于Azure函数的独特构建所抹去。

为此,您可以在目标_GenerateFunctionsPostBuild之后添加自定义以执行powershell脚本,例如<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> 

然后,将在目标_GenerateFunctionsPostBuild之后执行powershell脚本。

有关目标构建顺序从MSBuild项目文件运行Windows PowerShell脚本的更多详细信息。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM