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

标签 c# deployment interop

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

我正在为应用程序开发插件。我的加载项是用 C# 编写的。将使用的应用程序是用 C 编写的,需要在评估期间编译一些东西,所以我有一个 C++ dll 的中间步骤,它处理与 C# 的互操作业务,并且只向外显示 C 可以使用的干净接口(interface)。

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

当尝试设置并从 C# dll 中打印出当前目录信息时:

        Console.WriteLine(Directory.GetCurrentDirectory());

或:

        Console.WriteLine(System.Environment.CurrentDirectory);

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

那么……再一次,我如何获取我的 dll 的安装路径?

编辑:他们都成功了!感谢大家的快速回复!

最佳答案

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

关于c# - 部署dll后如何在C#中获取安装目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/333767/

相关文章:

c# - 可以用吗?? (合并运算符)与 DBNull?

c# - 从 WCF 中的通用契约(Contract)继承

deployment - 如何通过多个 ssh 防火墙自动部署(使用 PW 身份验证)?

c# - 如何在 C# 中应用 Word Quick Style - 不仅仅是简单的格式而是整个样式?

c# - 从 C# 访问 Win32 C/C++ 结构成员

c# - 使 UnityContainer 不是线程安全的陷阱是什么?

c# - "HEAD"作为请求方法是否足以检查站点是否可达

deployment - 重新加载 Kubernetes 部署以在不停机的情况下获取新 key

azure - Dotnet Core 1.1 Azure部署: No executable found matching command "dotnet-publish-iis"

c# - 将 null 传递给 Interop 方法时,它会抛出 "Generic types cannot be marshaled."异常