我有一个应用程序,用户可以为我的应用程序创建插件,并将他们的dll放在/ plugins文件夹中。
插件开发人员有时必须引用应存储在各自/ plugins / plugin_app /文件夹中的文件(xml配置文件等)。
然而,似乎当他们启动我的应用程序时,相对路径始终设置为启动EXE的文件夹(我的应用程序)。我该如何解决这个问题?
答案 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);