具有原始目标的 Msbuild 变量
Msbuild variable with original target
是否有包含为 msbuild 调用的原始目标的变量?
基本上 Visual Studio 我只需要在发布时调用 powershell 脚本。
更新:
在 Alexey 的回答之后,我尝试了这个:
<Target Name="DeployToAzure" AfterTargets="CopyPackageToDropLocation">
<PropertyGroup>
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
</PowerShellExe>
</PropertyGroup>
<Exec Command="$(PowerShellExe) -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "" />
</Target>
但是执行卡住了。我将其放入输出 window(然后永远挂起):
Task "Exec"
3> Task Parameter:Command=
3> %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
3> -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "
3>
3> %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
3> -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "
3> Windows PowerShell
3> Copyright (C) 2013 Microsoft Corporation. All rights reserved.
不,没有这样的变量(据我所知)。但是对于 运行 你的 powershell 脚本 - 你可以创建一个目标并将它与其他目标连接起来 - 例如在您的情况下,它类似于
<Target Name="RunMyPowershell" AfterTargets="Publish">
..
</Target>
您还可以在脚本中检测它是从 msbuild 还是从 Visual Studio 调用的 - 请参阅这篇关于 $(BuildingInsideVisualStudio) 的文章
https://msdn.microsoft.com/en-us/library/ms171468(en-us).aspx
是否有包含为 msbuild 调用的原始目标的变量? 基本上 Visual Studio 我只需要在发布时调用 powershell 脚本。
更新: 在 Alexey 的回答之后,我尝试了这个:
<Target Name="DeployToAzure" AfterTargets="CopyPackageToDropLocation">
<PropertyGroup>
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
</PowerShellExe>
</PropertyGroup>
<Exec Command="$(PowerShellExe) -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "" />
</Target>
但是执行卡住了。我将其放入输出 window(然后永远挂起):
Task "Exec"
3> Task Parameter:Command=
3> %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
3> -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "
3>
3> %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
3> -ExecutionPolicy Unrestricted -noprofile -nologo " & { Write-Output 'Test' } "
3> Windows PowerShell
3> Copyright (C) 2013 Microsoft Corporation. All rights reserved.
不,没有这样的变量(据我所知)。但是对于 运行 你的 powershell 脚本 - 你可以创建一个目标并将它与其他目标连接起来 - 例如在您的情况下,它类似于
<Target Name="RunMyPowershell" AfterTargets="Publish">
..
</Target>
您还可以在脚本中检测它是从 msbuild 还是从 Visual Studio 调用的 - 请参阅这篇关于 $(BuildingInsideVisualStudio) 的文章 https://msdn.microsoft.com/en-us/library/ms171468(en-us).aspx