类项目中的配置文件app.config在打包安装后的信息获取的问题
来源:互联网 发布:php erp系统下载 编辑:程序博客网 时间:2024/06/08 11:21
在一个项目中碰到这样的一个问题,做一个WORD插件,功能在类库项目中实现了,配置信息存在类库项目的配置文件app.config中,在进行打包后,获取的配置文件中的DocType节点信息时,使用以下方法 ConfigurationManager.AppSettings["DocType"]获取的值总是获取不到,跟踪调试发现值为null,上网看到类库被应用以后,ConfigurationManager.AppSettings访问的是应用程序的配置文件而不是类库所用的配置文件了,所以只有改变策略,把app.config文件也打包到安装文件中,安装后,在安装路径中找到这个文件并进行读取相应的信息,具体的实现方法如下
(.net环境下的C#代码)
//获取文件安装的路径
Assembly SampleAssembly = Assembly.GetExecutingAssembly();
string FilePath = Path.GetDirectoryName(SampleAssembly.CodeBase.Substring(8)) + "//App.config";
//解析配置文件获取对应的值
XmlDocument xDoc = new XmlDocument();
xDoc.Load(FilePath);
string DocType = xDoc.SelectSingleNode(@"/configuration/appSettings/add[@key='DocType']").Attributes["value"].Value;
DocType 就是要获取的值了。
一种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名:如何创建.net 的DCOM)
一般来说,.net 的exe assemly会存在一个对应的*.exe.config配置文件。当需要读取配置信息的时候,可以直接通过ConfigurationManager.AppSettings[index]来读取*.exe.config中的键值,但很少存在dll assembly需要config file的情况。假如当前dll assembly名为test.dll,如果在test.dll中调用ConfigurationManager来读取test.dll.config,那么是无法成功的!
当然,在dll assembly中要读取其*.dll.config这种需求非常少见。但是确要读取的话,可以采取以下方式,即强行制定其dll assembly的路径。
以下代码演示的是:编写一个.net dll并将其发布为一个regasm test.dll /codebase /tlb将其发布为一个DCOM, 然后通过asp页面来调用 。其中在test.dll中的公布的方法HelloWorld()需要读取其test.dll.config中的key value.
dll assembly代码如下:
C# version:
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- C# 获取app.config中的信息
- Maven打包后配置文件乱码的问题
- 关于C#中的配置文件App.config的读取与更改
- 修改App.Config配置文件可能遇到的问题
- 应用程序配置文件简单问题:winform的配置文件App.config的问题,真的简单?
- java应用程序中处理配置文件和图片路径在打包后路径不对的问题
- Strut的web项目中的配置文件struts-config.mex用处
- 在外围获取APP的机密信息
- Android 获取用户安装的app信息
- Android 获取用户安装的app信息
- 获取未安装的App信息
- 获取已安装APP的信息
- app.config项目配置文件读写
- app.config项目配置文件读写
- app打包安装后第一次启动Home时重复进入启动页的问题
- object-c 异常
- 第十五章:在应用程序中使用虚拟内存
- DevExpress的xtraMessageBox汉化
- 学习 重构--改善既有的代码 (一)
- 有效地使用索引
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- 外部变量和外部函数
- instanceof用法
- pku 3498 3469
- java.sql.date 与java.util.date
- 虚拟服务器负载均衡实现方法
- jquery弹窗,对话框,删除对话框
- 怎么样从一个疯狂下载者成为一个学习者!!!值得反省下的问题·~~
- Android AsyncTask