尝试将asp.net mvc核心应用程序部署到Azure WebApp,但尝试执行dotnet restore
时出现以下错误
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身份验证停止工作(重定向)登录时循环)
答案 0 :(得分:2)
不幸的是,更改global.json
在你的情况下不会起作用:(
Azure目前只有这些dotnet cli versions
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 restore
,但不能在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 restore
您的项目,如果确实失败并显示相同的错误消息,那么将确认我的理论 ...并且解决方案是等到Azure赶上或将您自己的dotnet cli
上传到Azure
<强> [编辑] 强>
Azure现在有1.0.0-preview4-004233