【发布时间】:2019-12-04 08:17:59
【问题描述】:
我有一个预先存在的 ASP.NET Core 3.0 应用程序,它已成功部署到 Azure 应用服务(使用 AspNetCoreModuleV2 模块)。将应用程序升级到(今天发布的)ASP.NET Core 3.1 后,应用程序可以在我的本地版本 IIS Express 上正确构建和运行。但是,当我尝试使用(今天的版本)Visual Studio 16.4 发布到 Azure 应用服务时,我收到以下错误:
资产文件“C:\Project\obj\project.assets.json”没有“.NETCoreApp,Version=v3.0”的目标。确保恢复已运行,并且您已在项目的 TargetFrameworks 中包含“netcoreapp3.0”。
注意事项
- 所有
<PackageReference>到Microsoft.AspNetCore、Microsoft.EntityFrameworkCore和Microsoft.Extensions已更新为3.1.0 - 我已经清理了我的解决方案,甚至删除了我的
obj文件夹,以确保没有任何挥之不去的引用。 - 此错误是由
3.1.100版本的Microsoft.PackageDependencyResolution.targets生成的。
我知道 something 仍然挂在 .NET Core 3.0 依赖项上。但目前尚不清楚为什么这只会在部署期间引起问题。 Azure 应用服务的还没有为 .NET Core 3.1 做好准备吗?或者这是依赖解析目标的问题?
【问题讨论】:
-
文档show how to explicitly select the .NET Core SDK version。你试过吗? 3.1 SDK 是否出现在列表中?
-
@PanagiotisKanavos:此项目尚未使用 Azure Pipelines 发布。也就是说,这确实提醒我 Visual Studio 所依赖的
pubxml配置文件中还有一个<TargetFramework>设置,我隔开。哎呀!将其更改为netcoreapp3.1以匹配csproj目标可以解决眼前的问题。 (这引入了一个新问题,即 Azure App Service 本身在目标上跳闸,但这可能可以通过使用自包含部署来解决,类似于您提供的链接。)谢谢你指点我方向正确! -
啊,时区差异...
-
感谢上帝找到这个问题(和答案)。我开始对采用最前沿的 MS 更改(在他们的建议和鼓励下)感到非常沮丧,只是为了不断遇到这样的问题。
标签: visual-studio asp.net-core azure-web-app-service webdeploy asp.net-core-3.1