.NET Core 的專案範本在處理版號跟以往有點小差異,雖然很簡單但實作的過程還是卡了一下,為了下一次的順利還是紀錄一下吧
在 .NET Core / .NET 5 專案打包 Nuget Package 並自動跳版號
- 1820
- 0
- Auto Version
- 2021-01-08
.NET Core 的專案範本在處理版號跟以往有點小差異,雖然很簡單但實作的過程還是卡了一下,為了下一次的順利還是紀錄一下吧
我的方案有 AB 兩個專案,B 參考 A ,這兩個專案最終都要 Deploy 到 Nuget Server,我想要在 B 專案的 *.nuspec 指定 A 專案的 nuget version,version 是變動的,根據 build number 產生出來。
我有嘗試過用手動變更版號,用了一段時間,但那實在是太累了,要手動調整的東西太多,萬一沒有調到就慘了,最後,花了很多的時間把 Market 有關 Variable 的套件,全部抓下來測過,最後才找到 Replace Variables,使用目前的作法,完全不需要人力介入,Replace Variables 好棒棒!!!
Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
Polly是一個.NET彈性和瞬態故障處理庫,允許開發人員以流暢和線程安全的方式表達諸如重試,斷路器,超時,隔離和回退之類的策略。
HttpClient 原本存在的問題,現在通過 HttpClientFactory / SocketsHttpHandler 的 Connection Pool 就可以解決,不過 HttpClientFactory 得搭配 Microsoft.Extensions.DependencyInjection 才能使用,接下來,我將分享實作步驟
使用地端 Azure DevOps Server 發生憑證的問題,java.lang.RuntimeException: An error occurred: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 估計是根憑證不被信任的問題,為了找出正確的憑證信任區,花了我不少的時間...
在 VS IDE 的環境內建連接 Azure DevOps / TFS,但是在 Java 的環境裡面就需要手動設定,記錄一下設定步驟,提供給需要的人使用
微軟提供的 DI Container (Microsoft.Extensions.DependencyInjection ),實作了 Microsoft.Extensions.DependencyInjection.Abstractions 抽象,讓我們也可很輕易的換成我們習慣的 DI Container,比如說,內建的 Microsoft.Extensions.DependencyInjection 沒有提供掃描 Assembly 的自動註冊,這時,在應用程式的進入點換成其它的 DI Container,比如 Autofac,就可以使用自動註冊。
只有增加使用 Autofac DI Container 的註冊,其餘的不用動,像是物件的依賴關係,取出物件方式。
Microsoft.Extensions.DependencyInjection 是微軟實作的 DI Container,在 ASP.NET Core 大量的使用,無形之間已經成為一種開發標準,過去,還沒有使用 DI Container 時,我會使用靜態屬性來集中管理物件的生命週期,現在,集中管理物件的生命週期,我又多了一個選擇。
Microsoft.Extensions.DependencyInjection 支援 .NET Fx 4.6.1 以上
Log 是系統不可或缺的角色,有利於我們開發(偵錯)、維運,.NET Core 發展出了標準化的 Log 抽象 Microsoft.Extensions.Logging.Abstractions,未來可使用這個標準來實現 Log