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

在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的安装路径?

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

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

试试这个:

 typeof(TypeInMyModule).Assembly.Location 

这两种方式之一:

 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);