加载库的相对路径?

时间:2012-01-26 10:03:28

标签: c# path

我得到了以下编译文件夹(简化):

D:\MySolution\Project1\bin\Debug
D:\MySolution\Project2\bin\Debug

我的Project1Project2上有一个引用但在代码中我必须从Project1加载一个类,所以我使用了这个有效的代码:

var project2ref = Assembly.LoadFrom(@"..\..\..\Project1\bin\Debug\Project1.dll")
                                .CreateInstance("MyNamespace.MyClass");

这适用于VS,但是当我使用我的软件的安装版本时它会崩溃... 相对路径有哪些替代方案?

1 个答案:

答案 0 :(得分:7)

当您构建解决方案时,您将把project1的dll放入project2的bin文件夹中。 因此,您可以通过检索project1.dll的程序集路径来获取project2.dll的引用。下面的代码将在project1中执行,并将获得包含dll的项目的bin路径。

System.Reflection.Assembly.GetExecutingAssembly().Location
相关问题