C#相对于组装DLL而非EXE [闭合]路径
-
28-09-2019 - |
题
我有一个应用程序,用户可以在其中为我的应用程序创建插件,并将其DLL放入A /plugins文件夹中。
插件开发人员有时将必须参考文件(XML配置文件等),该文件应存储在其各自的/插件/plugin_app/文件夹中。
但是,似乎当他们启动我的应用程序时,相对路径总是设置为启动EXE的文件夹(我的应用程序)。如何解决这个问题?
解决方案
当他们引用文件时,他们可以在附加路径组件后引用:
FileStream f = new FileStream(Path.Combine(mainAppDir,"plugins\\plugin_app\\filename.xml"),FileMode.Open);
其他提示
您需要手动添加DLL的路径以形成绝对路径。
例如:
string somePath = Path.Combine(typeof(PluginType).Assembly.Location, "Config.xml");
不隶属于 StackOverflow