发现问题

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

<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 系列文章

基础篇

[译]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 区域

[ASP.NET Core 2.0 前方速报]Core 2.0.3 已经支持引用第三方程序集了的更多相关文章

  1. 所使用的“System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35”版本高于所引用的程序集“System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”的版本

    System.Web.Mvc.dll引用是感叹号. 解决方法:新建mv3应用程序,右键选择System.Web.Mvc.dll 查看所引用的路径. 在旧程序中重新引用即可.C:\Program Fil ...

  2. Quartz.NET 3.0.7 + MySql 动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(四)

    把 HAProxy 用上了,终于不用担心某个节点挂了,还要去手动修改管理后台配置文件的api地址了. 在某网站下载了一个 window 可以用的版本 haproxy-1.7.8 不得不吐槽一下,作者要 ...

  3. ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package

    目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...

  4. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  5. ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

    还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...

  6. ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First

    ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...

  7. .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介

    .NET Core 1.0.ASP.NET Core 1.0和EF Core 1.0简介 英文原文:Reintroducing .NET Core 1.0, ASP.NET Core 1.0, and ...

  8. 将Asp.Net Core和corefx移植到.Net 4.0

    引言 因为工作内容的原因需要兼容 XP,而 XP 最多支持到.Net Framework 4.0.因此无法享受到 .Net Core 带来的一堆很好用的库,好在无论 corefx 还是 Asp.Net ...

  9. ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    一.前言  最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...

随机推荐

  1. Web的架构与html5基础知识

    图1:完整的Web应用构架 图2:html5的基本结构 head 可添加在头部标签元素有→→title meta style link base script noscript meta 几个重要属性 ...

  2. vue2购物车ch4-(筛选v-for 点击的那个设置样式 设为默认地址其他 联动 非循环的列表选中和非选中 删除当前选中的列表)

    1 address.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  3. Vue实现选项卡切换

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. C#线程池多线程Socket通讯 服务器端和客户端示例

    using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; ...

  5. session和cookie作用原理,区别

    Cookie概念 在浏览某些 网站 时,这些网站会把 一些数据存在 客户端 , 用于使用网站 等跟踪用户,实现用户自定义 功能. 是否设置过期时间: 如果不设置 过期时间,则表示这个 Cookie生命 ...

  6. ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点

    经验与实践 前两篇文章里我们介绍了nxlog的日志收集和转发<ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)>,今天我们主要总结一下,在与log4和f ...

  7. HTTPS和HTTP有什么区别?如何将HTTP转化成HTTPS

    不知道大家有没有注意到输入网址时的HTTP部分,在打开网站进行操作时有时候会自动跳转为HTTPS格式,这是为什么?HTTP与HTTPS到底有什么区别?如何将HTTP转化成HTTPS,针对这些问题,我们 ...

  8. HTTP认证方式与https简介

    HTTP认证与https简介 HTTP请求报头: Authorization [ˌɔ:θəraɪˈzeɪʃn] HTTP响应报头: WWW-Authenticate [ɔ:ˈθentɪkeɪt] HT ...

  9. LeetCode 533. Lonely Pixel II (孤独的像素之二) $

    Given a picture consisting of black and white pixels, and a positive integer N, find the number of b ...

  10. 2017web前端面试总结

    2017web前端面试总结 从今年3月份开始面试笔试找实习找校招到现在也半年多了,拿到了不少offer,也有了自己的一点心得体会,这里写出来分享一下,拙见勿喷. 注意一下,以下的观点仅代表我个人的体会 ...