我正在尝试使用" msbuild" 构建azure功能应用项目 - 为VS 2017构建工具 - 来自PowerShell(https://www.visualstudio.com/downloads/?q=msbuild)
命令 -
$pubxmlFilePath = (Get-Location).Path + "\" + "functionapp.pubxml"
$msbuildParams = '/t:MsDeployPublish /P:Configuration=Release `
/P:Configuration="Any CPU" `
/p:PublishProfile=' +$pubxmlFilePath + ' `
/p:Password=password'
$deployFunctionApp = '$msbuild' +" " + $functionAppProjectPath + `
" " + $msbuildParams
Invoke-Expression "& $deployFunctionApp"
但它抛出以下异常 -
错误MSB4057:目标" MsDeployPublish"项目中不存在
参考链接:
你能帮帮我吗?
谢谢, 苏拉杰
答案 0 :(得分:2)
我按照您的参考链接,使用c#Azure功能对您的脚本进行了一些测试。它适用于我。
我更改了参数值,发现只有两个参数导致您遇到异常。以下是参数:
$functionAppProjectPath
应该为它指定项目文件所在的路径。(对于c#,.sln和.csproj文件的路径都可以)。 $pubxmlFilePath
确保文件名正确无误。此外,属性/P:PublishProfile
只需要文件名,文件夹路径是不必要的。就我而言,即使文件夹路径不正确,构建也会成功。如果它不适合您,您可以将/t:MsDeployPublish
更改为/P:DeployOnBuild=True
。这也适用于我。
您可能还需要将/P:Configuration="Any CPU"
更改为/P:Platform="Any CPU"
,因为在我这方面又导致了另一个例外 - error MSB4126: The specified solution configu
ration "Any CPU|Any CPU" is invalid.