.Net共享类库配置

时间:2010-11-10 19:15:47

标签: c# class configuration

我有一个类库,需要一些配置来运行。此类库由多个应用程序(多个ASP.Net网站和Windows窗体应用程序)引用

据我了解,可以将配置存储在库的app.config =>中。 myDll.dll.config文件。请参阅:Putting configuration information in a DLLC# Dll config file

我的问题是我不想手动处理将配置文件复制到每个主机程序集的bin文件夹。 .Net中是否有一种机制来处理dll与其配置文件的配对,以便随附的配置与dll一起被分发/引用?

2 个答案:

答案 0 :(得分:1)

如果您的dll的所有实例的配置都相同,那么我会将其添加为嵌入式资源,因此它是您的dll的一部分,而不是单独的文件。

要执行此操作,请将其作为文件资源添加到Resources.resx文件中,或者直接将文件添加到Project中,然后将其编译类型(在“属性”窗口中)设置为“嵌入式资源”。

然后,您可以使用Assembly.GetExecutingAssembly.GetManifestResourceNames()列出dll中资源的名称,然后使用Assembly.GetExecutingAssembly.GetManifestResourceStream()获取流以从中读取文件的数据。我可能会为我的数据使用一个简单的自制XML格式,然后使用XmlTextReader / XmlDocument来轻松读取它。

答案 1 :(得分:0)

您必须将此.dll部署到GAC并将配置文件放在那里,所有应用程序将首先在提取引用时搜索GAC。 Here是你可以部署dll + config的方法。