本月16号,MS发布了 .NET Core 1.1。作为一个用贯MS产品的小盆友,我第一时间就把相关的安装包下载下来了,然后果断安装(入坑)。

我猜你来看这篇博客可能遇到了和我一样的问题。

问题0:正确的安装顺需

正确的顺序在MS的dotnet Core官网上可以找到,请根据自己的VS版本对号入座。

如果你觉得这个太长或者存在疑问,简短的版本是:

1、VS2015

1. 检查VS2015 是否已经安装了Update3.3:打开VS2015,然后点击【帮助】-【关于Microsoft Visual Studio】,左侧Logo下面的版本号如果小于14.0.25431.01,需要安装Update3.3;如果版本号后不是Update3,则需要先安装Update3,然后安装Update3.3.

2. 下载安装  .NET Core 1.1 SDK (x64 / x86
  之所以需要安装这个包,是因为后面的安装的DotNetCore.1.0.1-VS2015Tools.Preview2.0.3实际安装的是DotnetCore1.0.1,好尴尬

3. 下载安装DotNetCore.1.0.1-VS2015Tools.Preview2.0.3

2、VS2017RC

安装的时候选中【NET Core and Docker (Preview)】即可

由于VS2017安装的是DotnetCore1.0.0-preview3-004056,而且使用csproj格式的项目文件,所以和VS2015的体验会存在差异,安装前请三思。

问题1:DotNetCore.1.0.1-VS2015Tools.Preview2.0.3文件安装不正常

这个问题在9月份发布1.0.1的时候,估计很多人都遇到了。从现象上看似乎是MS忘记更换自家已经被吊销的SSL证书了,当然不排除被GFW不小心干掉的可能。好在经过两个多月的不懈努力,这个证书似乎已经正常了,所以现在主要拼的是网速了。

如果你的网络环境不理想,可以在网速较好的环境下获取DotNetCore.1.0.1-VS2015Tools.Preview2.0.3的脱机布局,然后分发安装,具体的方法如下:

命令格式

\>DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe /layout <布局存放的目录>

sample:

\>DotNetCore.1.0.1-VS2015Tools.Preview2.0.3/exe /layout .\DotnetCoreTooling110

按照上图的方式执行,可以在当前目录创建一个DotnetCoreTooling110目录,你只要运行这个新创建目录下的DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe文件就可以放心安装了。

问题2:创建、升级现有项目

因为这次发布的是SDK和Tooling,没有更新模板,所以现有Dotnet Core项目所使用的模板还是原来1.0.1的。不过不用担心,ASP.NET Core 1.1 RTM的介绍里具体的模板升级方法:

1、project.json文集按中的【netcoreapp】和【Microsoft.NetCore.App】版本从1.0 升级到1.1,然后保存project.json文件

2、升级Dependency中的nuget包,建议升级前先备份一下现有的project.json文件。因为我曾经遇到过升级失败,还把project文件弄坏的情况。有备无患嘛。

问题3:升级后编译失败,提示无法找到运行时针对的框架“.NetCoreApp,Version=1.1”兼容的运行时

VS报错后,还给了我们三个错误的可能诱因。第一个不考虑了,因为没有还原所有nuget包的话,说明项目的状态还停留在问题2。如果确认了真的是还原失败,则应该继续求改project.json文件。
第二个方法和第三个方法实际上原理一样,就是希望开发人员给出一个RID,这样VS就知道对应的运行环境是什么了。但是这样做就把现在的一个FDD(依赖框架的部署)程序变成了SCD(独立部署)程序。

这里就不讨论两种部署的优劣了,因为那和比较C#和JAVA的优劣一样无趣,只展示一下如何实现:

FDD,其实图1就是使用的这种部署,只是写法稍稍有些不同:

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },

……
  }
  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  }
}

SCD,重点是增加runtimes,frameworks,dependencies都不需要变:

{
  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },
  "runtimes": {
    "win10-x64": {}
  }
}

结束语

以上是一周以来尝鲜DotnetCore1.1遇到的问题及解决办法,希望可以帮助到大家,并尽快体验1.1带来的759倍性能提升(虽然只是文本输出测试,但也是可部署服务器中的第一啊)

作者:豆浆不放糖

博客:https://www.cnblogs.com/soldout

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

DotNetCore.1.0.1-VS2015Tools.Preview2.0.3 相关问题及解决办法的更多相关文章

  1. IIS7.5中调试.Net 4.0网站出现无厘头500错误的解决办法 (转)

    刚刚 部署了ii7的dll的有x86写的,就会出现以下这样的问题 iis 7 x86,Could not load file or assembly 'Name' or one of its depe ...

  2. echart 饼图数据为0不显示或者太小显示其他的解决办法

    饼图数据为0或者太小显示如下,不美观 解决办法: 为0的去掉,小于0.005的累加起来 方法 function getsData(_rowData){ var rowData=JSON.parse(J ...

  3. [异常解决] 安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...

    一.问题: 之前写的一款安卓4.4的应用程序,用来连接蓝牙BLE,而现在拿出来用新的AS编译(此时SDK为6.0,手机也是6.0)应用程序并不能搜索到蓝牙,查看log总是报权限错误: Need ACC ...

  4. SlidesJS 3.0.4 在手机上遇到的一些问题及解决办法

    SlidesJS 3.0.4 http://slidesjs.com 在手机上遇到的一些问题及解决办法 1.手机上打开有sliderjs的页面后, 切换到别的页面再回来时, sliderjs部分不能滑 ...

  5. VC++6.0在win8.1系统下运行失败的解决办法

    在win8.1系统下安装了VC++6,.0编译软件之后,发现打不开.出现下面的错误: 解决办法: 安装文件目录:Microsoft Visual Studio--common--MSDev98--Bi ...

  6. Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法

    在MySQL设计好数据库往往数据库中插入数据的时候, 因为主键ID默认是不赋值的,只给其他项目赋值了,相关的SQL代码是这样的 StringBuilder strSql = new StringBui ...

  7. 关于SpringBoot 2.0,Pageable 无法注入,提示缺少默认构造方法的解决办法

    在SpringBoot 2.0 以前,我们会配置以下类 * @date 2018/06/03 */ @Configuration public class WebMvcConfig extends W ...

  8. Mysql8.0 Public Key Retrieval is not allow错误的解决办法

    在使用Mysql 8.0时重启后启动项目的事后会报错com.mysql.jdbc.exceptions.jdbc4.MysqlNonTransientConnectionException: Publ ...

  9. IDEA里运行代码时出现Error:scalac: error while loading JUnit4, Scala signature JUnit4 has wrong version expected: 5.0 found: 4.1 in JUnit4.class错误的解决办法(图文详解)

    不多说,直接上干货!  问题详情 当出现这类错误时是由于版本不匹配造成的 Information:// : - Compilation completed with errors and warnin ...

随机推荐

  1. SignalR——聊天室的实现

    秒懂——SignalR ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连 ...

  2. 利用Windows2003 IP安全策略实现服务器远程桌面端口(3389)访问控制

    1 开始 → 运行 → 对话框中输入gpedit.msc → 确定 2 打开“组策略编辑器” 计算机配置 → Windows配置 → 右键点击“IP安全策略,在 本地计算机” →选择“创建IP安全策略 ...

  3. 「JavaSE 重新出发」05.01 继承

    继承 一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism). 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding). 如果是private方法 ...

  4. dedecms清空栏目后,新建ID不从1开始的解决方法

    在后台SQL运行器运行下面的语句,这样新建的栏目ID就从1开始了: ALTER TABLE `dede_arctype` AUTO_INCREMENT =1; (注意表名) 下面是文章的,运行后,发布 ...

  5. luoguP4238 【模板】多项式求逆 NTT

    Code: #include <bits/stdc++.h> #define N 1000010 #define mod 998244353 #define setIO(s) freope ...

  6. 路飞学城Python-Day20

    [31.面向对象的软件开发与作业介绍] 1.面向对象分析(object oriented analysis ,OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析 ...

  7. 作用域与this

    面向对象 一.单例模式 1.1 对象数据类型的作用: 把描述一个对象的属性和方法放在一个单独的空间,与其他的对象分割开,即时出现属性名相同的情况,也不会产生冲突 var name="xiao ...

  8. laravel 授权、用户验证

    记录帖 一.授权 只允许管理员删除用户,给管理员授权时,可以这样做,首先: 创建UserPolicy类: php artisan make:policy UserPolicy  然后在UserPoli ...

  9. NOIP2016 天天爱跑步 (树上差分+dfs)

    题目大意:给你一颗树,树上每个点都有一个观察员,他们仅会在 w[i] 时刻出现,观察正在跑步的玩家 一共有m个玩家,他们分别从节点 s[i] 同时出发,以每秒跑一条边的速度,沿着到 t[i] 的唯一路 ...

  10. 【转】C语言将字符串转换成对应的数字(十进制、十六进制)

    转自:http://wawlian.iteye.com/blog/1315133 1.一个十进制数字的字符串表示转换成对应的整数.举例:将“1234”转换成整数1234 /*将字符串s转换成相应的整数 ...