我在设置到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"
我在这里错过了一步吗? 我是新手,所以我可能忘记了某个地方的步骤。 任何帮助,不胜感激,谢谢!
答案 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
更改为:
或者,如果您使用的是 MSBuild任务,则只需更改MSBuild Version
:
另一方面,如果您在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
更新:
由于使用的是VS2017,因此可以使用 MSbuild 15.0文件路径将MSbuild 15.0的位置指定为:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64