入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

[ASP.NET Core 2.0 前方速报].NET Core 2.0.3 已经支持引用第三方程序集了

创建时间:2017-11-17 投稿人: 浏览次数:1598

发现问题

在将 FineUIMvc(支持ASP.NET MVC 5.2.3)升级到 ASP.NET Core 2.0 的过程中,我们发现一个奇怪的现象:

通过项目引用 FineUICore 工程一切正常,但是将 FineUICore 编译后,通过程序集的引用方式就会报错:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

这就很奇怪了,在折腾了好一阵之后,开始求助于网络。这一找不要紧,大把大把的抱怨扑面而来:

这篇文章提到:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

翻译:您需要将库打包为 NuGet 包或使用项目的方式引用。技术原因是所有必需的程序集和版本都在编译过程中得到解析, 并写入 .deps.json 文件。加载某个特定程序集时, 可能会失败, 因为无法找到程序集或其依赖项 (或彼此冲突)。

 

这篇文章甚至怀疑微软是否考虑支持程序集的引用方式:

0?wx_fmt=png

问:微软是否让ASP.NET Core应用只支持 NuGet包引用,还是说这只是新技术的一个BUG?

答:Nuget包当然是添加引用的最好方式,因为他们可以很好与编译发布流程进行整合。

正如我所说的那样,前面提到的问题的确是BUG,并且我们计划在将来的补丁版本中对此进行修正。

 

博客园的问答中也找到类似的提问:

0?wx_fmt=png

 

解决方案

本着求真的态度,我找到了 .Net Core 的下载地址,居然发现昨天刚刚发布了新版本:Core 2.0.3

0?wx_fmt=png

 

下载 .Net Core 2.0.3 的 64bit SDK Installer 并安装:

0?wx_fmt=png

 

再回到之前出错的项目,编辑 csproj 文件:

0?wx_fmt=png

将其 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包:

0?wx_fmt=png

运行,大功告成:

0?wx_fmt=png

原文地址:http://www.cnblogs.com/sanshi/p/7841104.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。