关于Web中引用的dll的配置文件
我的Web 程序需要引用一个以前的dll文件, dll文件里需要一个配置文件,aaa-config.xmldll要读取它,dll里面的代码将文件路径写死在里面,
string path = "aaa-config.xml ";
try
{
if (!File.Exists(path))
{
}
}
这样的话把dll和这个aaa-config.xml文件都放到bin里面,Web程序运行时报文件找不到的异常,但是在windows应用程序下用这个dll却不异常。这是怎么回事,能解决么?
------解决方案--------------------在asp.net下,默认“当前目录”是指网站虚拟目录,不是bin目录。
显然你那个代码是原来的那个dll设计者责任造成的。如果可以改,那么路径应该使用.net应用程序所规定的 AppDomain.CuttentDomain.BaseDirectory 来获取(更专业一点的作法是可以读取config文件中的参数)。如果不能改,那么你只能把xml放到相应的目录下。
------解决方案--------------------你看DDL说需要读取的文件的具体目录位置
------解决方案--------------------这样是找不到配置文件的,如果路径写死了,它需要放在和dll同一目录下
dll被asp.net加载后一般是放在asp.net临时目录下,一般来说比较随机