C#路径相对于汇编DLL而不是EXE

时间:2010-11-04 14:51:00

标签: c# dll path assemblies relative

我有一个应用程序,用户可以为我的应用程序创建插件,并将他们的dll放在/ plugins文件夹中。

插件开发人员有时必须引用应存储在各自/ plugins / plugin_app /文件夹中的文件(xml配置文件等)。

然而,似乎当他们启动我的应用程序时,相对路径始终设置为启动EXE的文件夹(我的应用程序)。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您需要手动添加DLL的路径以形成绝对路径。

例如:

string somePath = Path.Combine(typeof(PluginType).Assembly.Location, "Config.xml");

答案 1 :(得分:1)

当他们引用文件时,他们可以在追加路径组件后引用:

FileStream f = new FileStream(Path.Combine(mainAppDir,"plugins\\plugin_app\\filename.xml"),FileMode.Open);
相关问题