【发布时间】:2011-05-05 02:46:41
【问题描述】:
我有一个应用程序,用户可以在其中为我的应用程序创建插件并将他们的 dll 放在 /plugins 文件夹中。
插件开发人员有时必须参考应存储在其各自 /plugins/plugin_app/ 文件夹中的文件(xml 配置文件等)。
但是,当他们启动我的应用程序时,似乎总是将相对路径设置为启动 EXE 的文件夹(我的应用程序)。我该如何解决这个问题?
【问题讨论】:
标签: c# dll path assemblies
我有一个应用程序,用户可以在其中为我的应用程序创建插件并将他们的 dll 放在 /plugins 文件夹中。
插件开发人员有时必须参考应存储在其各自 /plugins/plugin_app/ 文件夹中的文件(xml 配置文件等)。
但是,当他们启动我的应用程序时,似乎总是将相对路径设置为启动 EXE 的文件夹(我的应用程序)。我该如何解决这个问题?
【问题讨论】:
标签: c# dll path assemblies
需要手动添加DLL的路径,形成绝对路径。
例如:
string somePath = Path.Combine(typeof(PluginType).Assembly.Location, "Config.xml");
【讨论】:
当他们引用文件时,他们可以在附加路径组件后引用:
FileStream f = new FileStream(Path.Combine(mainAppDir,"plugins\\plugin_app\\filename.xml"),FileMode.Open);
【讨论】: