[ASP.NET Core 2.0 前方速报]Core 2.0.3 已经支持引用第三方程序集了
发现问题
在将 FineUIMvc(支持ASP.NET MVC 5.2.3)升级到 ASP.NET Core 2.0 的过程中,我们发现一个奇怪的现象:
通过项目引用 FineUICore 工程一切正常,但是将 FineUICore 编译后,通过程序集的引用方式就会报错:
这就很奇怪了,在折腾了好一阵之后,开始求助于网络。这一找不要紧,大把大把的抱怨扑面而来:
这篇文章提到:
翻译:您需要将库打包为 NuGet 包或使用项目的方式引用。技术原因是所有必需的程序集和版本都在编译过程中得到解析, 并写入 .deps.json 文件。加载某个特定程序集时, 可能会失败, 因为无法找到程序集或其依赖项 (或彼此冲突)。
这篇文章甚至怀疑微软是否考虑支持程序集的引用方式:
问:微软是否让ASP.NET Core应用只支持 NuGet包引用,还是说这只是新技术的一个BUG?
答:Nuget包当然是添加引用的最好方式,因为他们可以很好与编译发布流程进行整合。
正如我所说的那样,前面提到的问题的确是BUG,并且我们计划在将来的补丁版本中对此进行修正。
博客园的问答中也找到类似的提问:
解决方案
本着求真的态度,我找到了 .Net Core 的下载地址,居然发现昨天刚刚发布了新版本:Core 2.0.3
下载 .Net Core 2.0.3 的 64bit SDK Installer 并安装:
再回到之前出错的项目,编辑 csproj 文件:
将其 Microsoft.AspNetCore.All 的引用版本由 2.0.0 改为 2.0.3:
1 2 3 | < ItemGroup > < PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.3" /> </ ItemGroup > |
保存,此时VS会自动还原 NuGet包:
运行,大功告成:
.Net Core SDK/Runtime 下载地址
https://github.com/dotnet/core/blob/master/release-notes/download-archive.md
附录:我翻译的 ASP.NET Core 2.0 系列文章
基础篇
MVC篇
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验