仅发布时构建失败:VS2017部署.NET Core 2.0项目遇异常
解决VS2017发布.NET Core 2.0项目到FTP时第三方DLL相关的构建失败问题
我之前处理过类似的.NET Core发布故障,结合你提到的错误提示和输出窗口里的第三方DLL报错,给你几个针对性的解决步骤,建议按顺序尝试:
1. 清理+重新还原NuGet包
第三方依赖出现问题,大概率是NuGet缓存损坏或者还原不彻底导致的:
- 右键你的解决方案,选择清理解决方案;
- 再次右键解决方案,点击还原NuGet包;
- 手动删除项目根目录下的
obj和bin文件夹(这两个是构建生成的临时文件,删除后不会影响项目); - 重新构建整个项目,之后再尝试发布。
2. 检查第三方包版本与.NET Core 2.0的兼容性
.NET Core 2.0对部分NuGet包的版本有严格要求,尤其是你提到的这两个包:
- 打开项目的
.csproj文件,查看Microsoft.AspNetCore.StaticFiles和System.IdentityModel.Tokens.Jwt的版本号;Microsoft.AspNetCore.StaticFiles对应.NET Core 2.0的稳定版本是2.0.0,不要用过高的版本;System.IdentityModel.Tokens.Jwt建议使用5.2.0版本,这个版本对.NET Core 2.0的支持比较完善;
- 如果版本不匹配,修改
.csproj里的版本号后,重新还原NuGet包,再尝试发布。
3. 调整发布配置的细节
发布过程中的依赖打包或部署模式设置错误也会触发这类问题:
- 右键项目选择发布,进入发布配置页面;
- 切换到设置选项卡,找到文件发布选项,勾选删除目标文件夹中的所有现有文件(注意提前备份服务器上的重要文件);
- 检查部署模式:
- 如果选框架依赖,务必确保服务器上已经安装了.NET Core 2.0 Runtime;
- 如果选独立部署,确认目标运行时选择的是服务器对应的系统(比如Windows x64);
- 保存配置后重新发布。
4. 排查FTP服务器的基础问题
有时候服务器端的权限或空间问题会间接导致发布报错:
- 确认你的FTP账号拥有目标部署文件夹的读写权限;
- 检查服务器目标磁盘的剩余空间,确保足够容纳发布的项目文件。
5. 更新Visual Studio 2017到最新版本
VS2017的早期版本存在一些.NET Core发布的兼容性bug,更新到最新补丁版本能解决不少问题:
- 打开VS2017,点击工具→获取工具和功能,检查是否有可用的更新,重点安装.NET Core相关的开发工具更新。
如果以上方法都试过还是不行,建议把输出窗口里第三方DLL的具体错误信息贴出来(比如是找不到文件、版本冲突还是其他),这样能更精准地定位问题。
内容的提问来源于stack exchange,提问作者johnny 5
相关产品推荐
相关产品推荐

