Azure函数-错误MSB4057:目标“0”;MsDeployPublish“;项目中不存在

Azure函数-错误MSB4057:目标“0”;MsDeployPublish“;项目中不存在,azure,msbuild,azure-functions,Azure,Msbuild,Azure Functions,我正在尝试使用“msbuild”构建azure函数应用程序项目- VS 2017的构建工具-来自PowerShell() 命令- $pubxmlFilePath = (Get-Location).Path + "\" + "functionapp.pubxml" $msbuildParams = '/t:MsDeployPublish /P:Configuration=Release `

我正在尝试使用“msbuild”构建azure函数应用程序项目- VS 2017的构建工具-来自PowerShell()

命令-

            $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”

参考链接如下:

你能帮我一下吗

谢谢,
Suraj

我遵循了您的参考链接,并使用c#Azure函数对您的脚本进行了一些测试。这对我来说很有效

我更改了参数值,发现只有两个参数导致了您遇到的异常。以下是参数:

  • $functionAppProjectPath
    应该为它指定项目文件所在的路径。(对于c#,.sln和.csproj文件的路径都可以)
  • $pubxmlFilePath
    确保文件名正确。此外,属性
    /P:PublishProfile
    只需要文件名,不需要文件夹路径。在我这方面,即使文件夹路径不正确,构建还是成功了
如果它对您不起作用,您可以将
/t:MsDeployPublish
更改为
/p:DeployOnBuild=True
。这对我来说也是有效的

您可能还需要将
/p:Configuration=“Any CPU”
更改为
/p:Platform=“Any CPU”
,因为在我这方面它导致了另一个异常-
错误MSB4126:指定的解决方案配置

定量“任何CPU |任何CPU”无效。

Thansk Jerry!是的,对-/P:PublishProfile只需要配置文件名,而且也是这种格式-。终于为我工作了:)