.NET Core迁移发布失败求助:project.assets.json无netcoreapp1.1目标
我之前也踩过这个一模一样的坑,给你几个经过验证的解决方案,按顺序尝试应该能搞定:
检查并修正项目文件(.csproj)的目标框架配置
打开你的项目.csproj文件,确认里面的<TargetFramework>标签值是netcoreapp2.0,而不是旧的netcoreapp1.1或者同时包含多个框架的配置。比如如果之前是:<TargetFrameworks>netcoreapp1.0;netcoreapp1.1</TargetFrameworks>要改成:
<TargetFramework>netcoreapp2.0</TargetFramework>同时检查文件里有没有其他残留的针对.NET Core 1.x的配置,比如
<RuntimeFrameworkVersion>,确保所有版本相关的配置都指向2.0。清理NuGet缓存并重新还原包
有时候旧的NuGet缓存会导致依赖解析错误,执行以下步骤:- 关闭Visual Studio(或你使用的IDE)
- 打开命令行,运行
dotnet nuget locals all --clear清空所有NuGet本地缓存 - 回到项目根目录,运行
dotnet restore重新还原所有包 - 重新打开IDE,重新生成解决方案后再尝试发布
检查发布配置文件(.pubxml)的配置
如果你使用了自定义的发布配置文件,打开对应的.pubxml文件,检查是否有硬编码的旧版本框架配置。比如查看是否存在<TargetFramework>或<RuntimeIdentifier>标签指向了netcoreapp1.1,如果有,修改为netcoreapp2.0对应的配置。排查NuGet包兼容性问题
有些旧的NuGet包可能不支持.NET Core 2.0,运行dotnet restore时注意观察控制台的警告信息,如果提示某个包与netcoreapp2.0不兼容,需要将该包升级到支持.NET Core 2.0的版本。你可以通过NuGet包管理器或者修改.csproj里的包版本号来完成升级。确保安装了正确的.NET Core 2.0 SDK
确认你的开发环境中安装了.NET Core 2.0 SDK的最新补丁版本(虽然2.0已停止官方支持,但如果必须使用这个版本,要保证SDK是完整且最新的)。安装完成后重启IDE,再重新尝试发布流程。
内容的提问来源于stack exchange,提问作者Baqar Gogia

