Azure门户运行.NET Core 2的设置及部署失败问题咨询
解决.NET Core 2迁移至Azure App Service的部署问题
我来帮你一步步拆解这些问题,解决你的.NET Core 2部署到Azure的困扰:
一、Azure门户中配置.NET Core 2运行时
Azure里的.NET Core运行时选项和.NET Framework是分开管理的,你看不到它不是因为没有,而是找错地方了:
- 登录Azure门户,进入你的App Service资源
- 左侧导航栏选配置 → 常规设置
- 在运行时堆栈下拉框里,先选
.NET Core,然后就能看到对应的版本选项(比如2.0)。如果没看到2.0,确认你的App Service计划是Windows系统,或者选择LTS版本,Azure会自动匹配兼容的.NET Core runtime - 保存设置后重启App Service生效
二、部署失败的核心原因(从日志里揪出的问题)
看你贴的错误日志,最致命的问题是版本不兼容:
D:\local\repository\TFTests\TFTests.csproj : error NU1201: Project TFA is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Project TFA supports: netcoreapp2.0 (.NETCoreApp,Version=v2.0)
你的主项目TFA已经升级到.NET Core 2.0,但测试项目TFTests还停留在1.1版本,两者不兼容导致NuGet还原失败。解决步骤:
- 打开
TFTests.csproj文件,把<TargetFramework>netcoreapp1.1</TargetFramework>改成<TargetFramework>netcoreapp2.0</TargetFramework> - 同步测试项目的所有NuGet包版本,确保它们都支持.NET Core 2.0(可以在NuGet包管理器里批量更新)
三、关于Faker.NETCore的疑问
你说没直接用这个库,但日志里出现了相关警告,这肯定是测试项目TFTests或者它的某个依赖间接引用的第三方NuGet包,不是.NET Core 1.1的系统残留。你可以:
- 打开TFTests项目的NuGet依赖列表,找找有没有直接引用Faker.NETCore的包,要么升级到支持.NET Core 2.0的版本,要么删掉没用的依赖
- 如果找不到直接引用,在本地终端里进入TFTests项目目录,运行
dotnet list package --include-transitive,就能看到所有间接依赖,定位到Faker.NETCore的来源
四、清理wwwroot目录的建议
清理wwwroot确实能避免旧版本残留文件干扰部署,给你几个可行的方法:
- 本地部署前,手动删除项目wwwroot下的旧编译文件
- 或者通过Azure的Kudu控制台(访问
https://<你的App服务名>.scm.azurewebsites.net/DebugConsole),导航到D:\home\site\wwwroot,删除所有文件后再重新部署 - 更省心的方式是在部署脚本(deploy.cmd)里添加清理步骤,比如在还原命令前加一行:
rmdir /s /q D:\home\site\wwwroot
内容的提问来源于stack exchange,提问作者user6728767
相关产品推荐
相关产品推荐

