尝试将 asp.net mvc 核心应用部署到 Azure WebApp,但在尝试执行 dotnet 还原
时失败,并出现以下错误
error MSB4057: The target "_GenerateRestoreGraphProjectEntry" does not exist in the project.
在 Azure 控制台中
dotnet --version
1.0.0-preview3-004056
在我的机器上
dotnet --version
1.0.0-preview4-004233
也许我需要设置 global.json
以针对特定框架(如果该框架与我机器上的框架不同)。
(这不是问题的一部分,只是吐出我的胆量:) 作为 .net 开发人员(无论是在 Mac 上还是在 Windows 上),这一天并不是一个美好的一天,因为在 .csproj 上的 VS 17 RC2 更新之后,他们都无法工作,各种 msbuild 问题以及最后的 IIS Express 身份验证停止工作(重定向登录期间循环)
最佳答案
不幸的是,更改 global.json
在您的情况下不起作用:(
Azure 目前只有这些 dotnet cli 版本
1.0.0-preview1-002702
1.0.0-preview2.1-003155
1.0.0-preview2-003121
1.0.0-preview2-003131
1.0.0-preview2-003156
1.0.0-preview2-1-003177
1.0.0-preview3-004056
根据您的描述,您似乎能够在开发计算机上本地执行 dotnet 恢复
,但不能在 Azure 中进行
我怀疑这是因为1.0.0-preview3-004056
没有最新的msbuild:
D:\Program Files (x86)\dotnet\sdk\1.0.0-preview3-004056>dotnet.exe MSBuild.dll
Microsoft (R) Build Engine version 15.1.0.0
我没有您的“1.0.0-preview4-004233”,但与 latest dotnet release on github 进行比较:
C:\Downloads\dotnet-dev-win-x64.latest>dotnet.exe sdk\1.0.0-preview5-004269\MSBuild.dll
Microsoft (R) Build Engine version 15.1.458.808
不难看出Azure缺少msbuild的几个错误修复(15.1.458.808 > 15.1.0.0)
我建议您将 global.json
更改为版本 1.0.0-preview3-004056
,并尝试 dotnet 恢复
在本地项目,如果它确实失败并出现相同的错误消息,那么它将证实我的理论...解决方案是等待 Azure catch 或上传您自己的 dotnet cli
到 Azure
[编辑]
Azure 现在有 1.0.0-preview4-004233
关于asp.net - 将ASP.NET Core ap部署到Azure : dotnet restore fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143115/