DotNetCore.1.0.1-VS2015Tools.Preview2.0.3 相關問題及解決辦法

本月16號,MS發佈了 .NET Core 1.1。做爲一個用貫MS產品的小盆友,我第一時間就把相關的安裝包下載下來了,而後果斷安裝(入坑)。web

我猜你來看這篇博客可能遇到了和我同樣的問題。json

問題0:正確的安裝順需windows

正確的順序在MS的dotnet Core官網上能夠找到,請根據本身的VS版本對號入座。服務器

若是你以爲這個太長或者存在疑問,簡短的版本是:網絡

一、VS2015app

   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性能

二、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的介紹裏具體的模板升級方法:

一、project.json文集按中的【netcoreapp】和【Microsoft.NetCore.App】版本從1.0 升級到1.1,而後保存project.json文件

projectJsonUpdate

二、升級Dependency中的nuget包,建議升級前先備份一下現有的project.json文件。由於我曾經遇到過升級失敗,還把project文件弄壞的狀況。有備無患嘛。

 

問題3:升級後編譯失敗,提示沒法找到運行時針對的框架「.NetCoreApp,Version=1.1」兼容的運行時

image

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

本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。

相關文章
相關標籤/搜索