.Net Core 編譯的一些陷進以及各種坑集合
CoreCLR 以及CLI編譯:
1.下載CMake(最好最新版) ,新增環境變數(微軟利用這個跨平臺公共語言執行庫生成工具)
2 Python(最好最新版,且用Install形式安裝,如果用Zip安裝(有兩個版本,一個嵌入式,一個EXE.這兩個都不行,裡面似乎沒有自帶的Pip,導致整個指令碼引導錯誤) (用到了 Python指令碼引導)新增到變數
3.PowerShell 安裝4.0及其以上的版本(低於4.0 將導致ps檔案無法引導)
以上安裝成功如下:
生成成功如下
WebHost 以及Hosting等類庫編譯
基本的步驟:
1.到github clone source(這個版本可以因第三步而異,如果編譯不過,可以切換2.0.0以上的任何分支再次進行編譯)
2.搭建本地nugetserver(在引用了nuget.server之後,在.net 4.6.1版本中,要刪除complie target選項,VS會生成兩個造成衝突,注意apikey的key值,預設為空,可以給它新增一個,以便以後上傳包)
3.編譯clone下來的source(編譯不通過可以檢視powershell版本,以及其script設定情況,根據提示修改,也可以到github下載另外一個版本進行編譯,一般的情況下,除了wehost和webhostbuilder所在的metapackages和hosting意外,其它的類庫都很容易編譯成功)
4.新建一個空.netcoreweb,引用本地nugetserver上面的包,以便進行除錯。
預設的生成成功之後,會在sln或者csproject下面有artifacts資料夾,裡面是當前專案所編譯的所有包。由於編譯複雜度有點高,請慎入。
請求被終止,未能建立SSL/TLS 安全通道
請求被中止: 未能建立 SSL/TLS 安全通道。
所在位置 C:\Users\Administrator\Desktop\Configuration-rel-2.0.0\Configuration-rel-2.0.0\build.ps1:25 字元: 17
+ throw $exception
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], WebException
+ FullyQualifiedErrorId : 請求被中止: 未能建立 SSL/TLS 安全通道。
解決方法:
在 build.ps1中 新增
[System.Net.ServicePointManager]::SecurityProtocol=[System.Net.SecurityProtocolType]::Tls12
Invoke-WebRequest https://
powershell最低版本必4.0及其以上,越高越好。
假如說編譯某個版本出現了錯誤,可以到github clone 2.00以上的任何版本下載下來,進行編譯。
.\build 自帶的有symbol 符號庫,可以直接連線到visual studio 進行原始碼檢視
也可以用dotnet pack 或者nuget spec pack 進行編譯打包,然後上傳到nugetserver,本地引用新增
visual stuido 可以直接識別下載的nuget ,假如說原始碼與nupkg 不在同一臺機器上編譯的(在一臺機器上編譯了Nupkg ,在另一臺機器上使用這個包),VS會彈出對話方塊,然後進行對話方塊選擇。如果是同一臺,它會自動識別當前source位置,進行檢視。(Java/.NET討論群:676817308)