由於ConfigurationManager
在.NET標準不存在,什麼是爲執行大會檢索應用程序設置的最佳方式,無論是web.config
或appSettings.{env}.json
,一個標準的.NET類庫中?如何在.NET Framework,.NET Standard和.NET Core項目之間使用相同的配置?
我們有三個項目:
- 核心ASP.NET Web應用程序(1.1)
- ASP.NET Web應用程序(4.6.1)
- .NET標準類庫(1.4) - >由兩個項目引用
在.NET標準類lib中,我們有一個URL,需要根據部署到的環境進行更改。
這對.NET Core應用程序來說很好,我們只需將URL添加到合適的appSettings.{env}.json
文件中,將適當的值添加到DI容器,然後使用Microsoft.Extensions.Options
庫來檢索配置。但我們也需要從我們的.NET Framework 4.6.1應用程序中調用庫,但由於沒有方法(至少沒有找到)從web.config
文件中檢索值,所以我們不用「沒有一個很好的方式來設置類庫中的URL。
我們現在通過將URL變量設置爲static,並從我們引用的每個.NET Framework項目的Application_Start()
方法中設置其值,我們通過我們添加的appSetting密鑰來確定它是哪個環境到每個web.config,然後根據環境手動設置URL。
有一個更強大的.NET標準類庫中處理來自一個.NET的核心和.NET Framework應用程序檢索的appSettings值呢? 最好在那裏我們可以只在類庫中設置值。
感謝您對一個完全合法的問題進行隨機倒票? –