做一个服务的类库,想在类库项目中使用xml文件缓存些信息,可以使用程序修改的那种 但是一直无法在类库内部函数中读取xml文件的路径
大概的意思是我要通过类库实现一个dll 做服务用,类库里有一个xml配置文件,给类库自己读取和修改的,但是这个dll文件会被其他的项目调用
我想要的就是类库内部读取和修改配置文件不受其他项目引用的影响
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("wwbz.robot.BaiduRobot.token.xml"))
{
}
取项目相对路径
是不是路径不正确啊,可以直接放在固定的位置看看能不能取到该路径
文件路径是固定的 主要是要生成dll文件 所以发布的路径和类库内部路径是不一样的
@lygui: https://www.cnblogs.com/youmingkuang/p/11719915.html,这个文章写了一些取路径的方法,你试试看
@华临天下: 都不行 这些都不是
@lygui: https://www.cnblogs.com/qi123/p/9482881.html,是这个意思吗?
@华临天下: 不是的 类库项目是为了给其他项目引用的,所有发布之后 它被访问的路径就成了引用它的项目的路径,现在网上很多的获取当前服务的地址都是项目发布的地址 但是我要的只是类库内部的 跟发布的地址无关
@lygui: 你的类库放在c:/a目录下,你的项目放在d:/e目录下,你项目引用类库文件,然后想在项目代码里面取到的路径是:“c:/a” ,对吗?
@我是流氓: 可以这样理解 但是说类库路径未知 只知道其生成的dll文件的路径 这样更准确些
@lygui: 你这样理解是错误的,你是在你自己的开发机器上调试的吧?你试试把你的项目放在其他电脑上启动程序试试,你能跑起来,我算你厉害
@我是流氓: 现在不是在找解决方法么 读取没有问题 主要是xml文件保存 使用的是绝对路径
Path.Combin(AppDomain.BaseDirectory,$"")
这个取得是web的路径 不是类库的路径
是不是你把问题想复杂了,你发布项目的时候,不管是web还是exe程序,打包的时候都要把dll包含进去吧,xml文件也一起拷过去不就可以了,exe程序可以在打包时把xml包含进去,web项目直接拷过去就可以了,然后代码里面写死相对路径不就可以了?
可是xml文件保存save需要绝对路径阿
@lygui: 你是要在dll文件代码里面对xml进行操作?你能拿到相对路径,难道还拿不到绝对路径?而且谁说保存文件需要绝对路径的?
@我是流氓: 我现在的问题就是拿不到绝对路径 存储的时候使用相对路径保存爆出无法找到文件的错误