本月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,好尷尬佈局
二、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文件
二、升級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
本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。