[ASP.NET Core 2.0 前方速报]Core 2.0.3 已经支持引用第三方程序集了_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > [ASP.NET Core 2.0 前方速报]Core 2.0.3 已经支持引用第三方程序集了

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

 2017/11/16 13:18:07  三生石上(FineUI控件)  程序员俱乐部  我要评论(0)
  • 摘要:发现问题在将FineUIMvc(支持ASP.NETMVC5.2.3)升级到ASP.NETCore2.0的过程中,我们发现一个奇怪的现象:通过项目引用FineUICore工程一切正常,但是将FineUICore编译后,通过程序集的引用方式就会报错:这就很奇怪了,在折腾了好一阵之后,开始求助于网络。这一找不要紧,大把大把的抱怨扑面而来:这篇文章提到:翻译:您需要将库打包为NuGet包或使用项目的方式引用。技术原因是所有必需的程序集和版本都在编译过程中得到解析,并写入.deps.json文件
  • 标签:程序 .net ASP.NET net

发现问题

在将 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:

class="brush:html;gutter:true;"><ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.3" />
</ItemGroup>  

保存,此时VS会自动还原 NuGet包:

运行,大功告成:

 

附录:我翻译的 ASP.NET Core 2.0 系列文章

基础篇

[译]ASP.NET Core 2.0 中间件

[译]ASP.NET Core 2.0 带初始参数的中间件

[译]ASP.NET Core 2.0 依赖注入

[译]ASP.NET Core 2.0 全局配置项

[译]ASP.NET Core 2.0 机密配置项

[译]ASP.NET Core 2.0 会话状态

[译]ASP.NET Core 2.0 本地文件操作

[译]ASP.NET Core 2.0 网址重定向

MVC篇

[译]ASP.NET Core 2.0 路由引擎

[译]ASP.NET Core 2.0 路由引擎之网址生成

[译]ASP.NET Core 2.0 视图引擎

[译]ASP.NET Core 2.0 区域

 

发表评论
用户名: 匿名