簡體   English   中英

其他類型的.net配置文件

[英]Other types of .net configuration files

好的,這不是最有用的問題,因為我不記得執行此操作的.net功能。 基本上,這就是我要問的; 這有什么特點?

大約一年前,我在一個項目上工作,我們使用了配置文件,這些文件使用類成員上的特定屬性直接映射到一個類。 這不是標准的app.config,而是assemblyname.dll.xml。

也許它是統一框架內的一個特征? 只是在黑暗中刺傷。
我今天想到這一點並不重要,但它只是在壓制我的大腦並讓我煩惱,我記不起來了!

謝謝!

它不是標准的XML配置,而是內置於.NET中。 基本上,XML序列化允許您從水合類實例中投影XML文檔,該實例將1:1映射到它來自的類,並可用於重新補充該類的新實例。

在大多數情況下,這可以在您不費吹灰之力的情況下完成。 XML序列化通常需要的只是對象必須具有公共默認構造函數,並且要序列化的所有狀態信息必須是公共的和讀寫的。 在少數情況下,某些屬性是定義某些行為所必需的,例如其父類的數組中的派生類,以及為字段和屬性元素標記定義非默認名稱。

如您所述,此方法的主要用途之一是用於自定義配置文件。 您可以通過簡單地將文件反序列化為配置對象的實例來從持久狀態加載配置。

文章:MSDN如何序列化對象

據我所知,這不是.Net bcl或Unity的一部分。 也許是其他第三方或開源組件? 話雖這么說,使用XmlSerialization自己構建這樣的東西並不太難。

.net允許多層配置。

每台機器都有machine.config文件。 每個應用程序都有app.config文件(在構建時將其重命名為applicationname.exe.config),但每個dll也可以擁有自己的配置文件。 因此,如果我的可執行文件夾中包含以下二進制文件:

flexitris.exe
flexitrisHelpers.dll
thirdPartyContent.dll

他們每個人都可以擁有自己的配置文件:

flexitris.exe.config
flexitrisHelpers.dll.config
thirdPartyContent.dll.config

並且所有這些都將在運行時讀取並使用普通的System.Configuration命名空間進行訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM