Azure Pipeline部署到Web App Service失败,缺少必需的属性'OutputPath'

时间:2019-07-11 05:01:00

标签: c# .net azure bitbucket azure-pipelines

我在设置到Azure Web App的资源时遇到了问题。我在网上找不到太多有关此错误的信息,因此请在此处发布...

我有一个.NET解决方案,其中包含一个主项目和几个在我的主项目中引用的类库项目。

由于某种原因,部署失败,因为它没有解决方案中的那些dll项目。我的代码位于bitbucket存储库中,并且我将其设置为在每次提交到某个分支时都部署到我的Web应用程序资源中。

但是失败,并显示此错误:

Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling .NET Web Application deployment.
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin\amd64'.
All packages listed in packages.config are already installed.
Invalid restore input. Missing required property 'OutputPath' for project type 'PackageReference'. Input files: D:\home\site\repository\XXXCode\XXXXX.Entities\XXXXX.Entities.csproj.
Failed exitCode=1, command=nuget restore "D:\home\site\repository\XXXCode\XXXCode.sln"
An error has occurred during web site deployment.
Invalid restore input. Missing required property 'OutputPath' for project type 'PackageReference'. Input files: D:\home\site\repository\XXXCode\XXXXX.Entities\XXXXX.Entities.csproj.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\82.10503.3890\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

我在这里错过了一步吗? 我是新手,所以我可能忘记了某个地方的步骤。 任何帮助,不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

  

MSBuild自动检测:使用来自'D:\ Program'的msbuild版本'14 .0'   文件(x86)\ MSBuild \ 14.0 \ bin \ amd64'。

根据此错误消息,显然您使用的版本是 MSBuild 14.0(VS 2015工具)

此外,根据此消息:

  

项目类型缺少必需的属性'OutputPath'   “ PackageReference”。

据我了解,PackageReference仅适用于 MSBuild版本15 及更高版本,而不是14.0。由于它是VS 2017附带的,同时是MSBuild 15.0。

因此,要解决此错误,建议您尝试使用较新的版本: MSbuild 15.0。

您还可以参考以下票证:Missing required property 'OutputPath' for project type 'PackageReference'

编辑:

首先,请确保您的脚本可以在VS2017本地成功执行。

然后,如果使用 Visual Studio构建任务进行构建,请将Visual Studio Version更改为:

enter image description here

或者,如果您使用的是 MSBuild任务,则只需更改MSBuild Version

enter image description here

另一方面,如果您在MSbuild任务中使用Specify Location而不是Version,请在MSBuild 15.0下指定 MSBuild.exe 的位置路径。对我来说,我正在使用VS2019,因此MSbuild 16.0的位置是:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe

enter image description here

更新

由于使用的是VS2017,因此可以使用 MSbuild 15.0文件路径将MSbuild 15.0的位置指定为:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64