【问题标题】:Allow nuget to download missing packages in Azure AppService允许 nuget 下载 Azure AppService 中缺少的包
【发布时间】:2019-12-05 22:11:07
【问题描述】:

我正在尝试使用 Azure AppService 部署 asp.NET 应用程序。但最后它失败了,消息说:

    error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets.
Failed exitCode=1, command=dotnet publish "D:\home\site\repository\test.WebApp.V1\test.WebApp.V1.csproj" --output "D:\local\Temp\8d77908b55668cc" --configuration Release
An error has occurred during web site deployment.
\r\nD:\Program Files (x86)\SiteExtensions\Kudu\85.11108.4192\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

我没有使用 asp dotNet Frameworks 甚至 C# 的经验,但我知道它会尝试从 nuget 下载一些依赖项,但没有管理。

我该如何解决这个问题?谢谢

【问题讨论】:

  • 你是如何部署应用程序的?
  • @MichaelJCox iam 在 Azure 云中使用 AppService

标签: asp.net azure azure-web-app-service


【解决方案1】:

基于此D:\Program Files (x86)\SiteExtensions\Kudu\85.11108.4192\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

我假设您正在使用 Kudu 进行部署。

this thread 的说明有效吗?

转到您网站的 Kudu 控制台

转到 d:\home\site\repository

从这里运行“nuget restore”

【讨论】:

  • 不幸的是,当我在输入他的 cmds 后重新部署时,它一直失败:失败 exitCode=1, command=dotnet publish "D:\home\site\repository\Test.WebApp.V1\Test.WebApp. V1.csproj" --output "D:\local\Temp\8d77a88ff9cecc2" --configuration Release 网站部署出错。 \r\nD:\Program Files (x86)\SiteExtensions\Kudu\85.11108.4192\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"
  • 你在 Kudu 控制台中运行过nuget restore 命令吗?我遇到了类似的问题,这种方法对我有用。您可以通过这里访问 Kudu 控制台https://${project_name}.scm.azurewebsites.net/DebugConsole
【解决方案2】:

如果您使用的是 dotnet core,只需转到项目目录,从中打开一个 cmd 并运行:

dotnet restore

如果您使用的是 dotnet 框架:

通过选择“工具”>“选项”>“NuGet 包管理器”来启用自动包恢复,然后在“包恢复”下选择“在 Visual Studio 中的构建期间自动检查丢失的包”,然后只需构建解决方案,它就会检索丢失的包。

更多信息在这里:

https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore

【讨论】:

  • 不幸的是,当我在输入他的 cmds 后重新部署时,它一直失败:失败 exitCode=1, command=dotnet publish "D:\home\site\repository\Test.WebApp.V1\Test.WebApp. V1.csproj" --output "D:\local\Temp\8d77a88ff9cecc2" --configuration Release 网站部署出错。 \r\nD:\Program Files (x86)\SiteExtensions\Kudu\85.11108.4192\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"
  • 这是因为您试图在它准备好之前发布。首先你需要添加依赖,然后编译。成功后就可以发布了。
  • 这是我所做的:1) 我进入 Azure AppService 中项目的控制台,我 cd 到“\site\repository”并输入“nuget restore”,2) 我得到“部署中心和部署”。你的意思是步骤吗?
  • 不,您需要通过本地机器或通过 ci/cd 管道来完成。
猜你喜欢
  • 1970-01-01
  • 2015-11-22
  • 2012-06-30
  • 2021-11-01
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
相关资源
最近更新 更多