如何在部署dll之后在C#中获取安装目录

时间:2008-12-02 12:10:05

标签: c# deployment interop

在dll(C#)中工作时是否有一些聪明的方法来检索安装路径,这将从另一个文件夹中的应用程序调用?

我正在为应用程序开发一个加载项。我的加载项是用C#编写的。将使用的应用程序是用C编写的,需要在评估期间编译一些东西,所以我有一个带有C ++ dll的middlestep,用C#处理互操作业务,只显示C可以使用的外部干净接口。

我部署的是一组.dll和一个.lib和.h用于C ++部分(有时需要静态绑定)。

尝试设置并使用以下命令从C#dll打印出当前目录信息时

        Console.WriteLine(Directory.GetCurrentDirectory());

或:

        Console.WriteLine(System.Environment.CurrentDirectory);

我得到了可执行文件路径。

所以...再一次,我如何获得我的dll的安装路径?

编辑:他们都工作了!感谢快速回复的人!

3 个答案:

答案 0 :(得分:12)

我认为你想要的是Assembly.GetExecutingAssembly().Location

答案 1 :(得分:3)

试试这个:

typeof(TypeInMyModule).Assembly.Location

答案 2 :(得分:3)

这两种方式之一:

using System.IO;
using System.Windows.Forms;
string appPath = Path.GetDirectoryName(Application.ExecutablePath);

或者:

using System.IO;
using System.Reflection;
string path = Path.GetDirectoryName(
Assembly.GetAssembly(typeof(MyClass)).CodeBase);