从程序集与进程中获取当前可执行文件的名称?

2024-01-11

这是后续这个答案 https://stackoverflow.com/a/616588/37759(及其评论)。从程序集获取可执行文件名称与从进程获取可执行文件名称有什么区别?

System.Reflection.Assembly.GetCallingAssembly.GetEntryAssembly().CodeBase 

vs

Process.GetCurrentProcess().ProcessName

我假设这些一直都是一样的?不?有优点和缺点吗?


它们不一定相同。将这两个程序编译为同一目录中的控制台应用程序:

// In Test.cs, compile to Test.exe
using System;
using System.Reflection;

public static class Program
{
    static void Main(string[] args)
    {
        AppDomain.CreateDomain("NewDomain").ExecuteAssembly("Test2.exe");
    }
}

// In Test2.cs, compile to Test2.exe
using System;
using System.Diagnostics;
using System.Reflection;

class Test2
{
    static void Main()
    {
        Console.WriteLine("Process: {0}",
                          Process.GetCurrentProcess().ProcessName);
        Console.WriteLine("Entry assembly: {0}", 
                          Assembly.GetEntryAssembly().CodeBase);
    }
}

Output:

Process: Test
Entry assembly: file:///c:/Users/Jon/Test/Test2.EXE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从程序集与进程中获取当前可执行文件的名称? 的相关文章

随机推荐

  • 将 Spark 数据帧写入单个 Parquet 文件

    我想做一些非常简单的事情 但我遇到了一些非常愚蠢的挣扎 我认为这一定与对 Spark 所做的事情的根本误解有关 我将非常感谢任何帮助或解释 我有一个非常大的表 3 TB 300MM 行 25k 分区 在 s3 中保存为 parquet 我想
  • ProcessBuilder 重定向到标准输出

    我想将 java 进程输出重定向到父 java 进程的标准输出 使用 ProcessBuilder 类如下 public static void main String args ProcessBuilder processBuilder
  • 每次获取不同的地址

    在下面的代码中 我每次都会为第一个元素获得不同的地址std vector v 为什么会这样呢 include
  • 将类标签附加到 Keras 模型

    我正在使用 Keras 顺序模型来训练许多多类分类器 在评估时 Keras 输出一个置信度向量 我可以使用 argmax 从中推断出正确的类 ID 然后我可以使用查找表来接收实际的类标签 例如字符串 到目前为止 解决方案是加载训练好的模型
  • 关闭子窗体时如何刷新datagridview?

    我的主窗体上有一个 dgv 有一个按钮可以打开另一个窗体以将一些数据插入到绑定到 dgv 的数据源中 我想要当子窗体关闭 dgv 自动刷新时 我尝试将其添加到子表单关闭事件中 但它不会刷新 private void frmNew FormC
  • 如何在C++中定义常量?

    我通过Mingw在windows上编译了一个linux程序 然而 转换并不完美 例如 在 Windows 上 输出是这样的 我得到 zu 而不是实数 Approximated minimal memory consumption Seque
  • Cholmod 错误“问题太大”到底意味着什么?将 dfm 转换为 df 时出现问题

    这是发布的另一个问题的新版本 现在有一个可重现的示例 我正在尝试将文档特征矩阵从 29117 条推文转换为 R 中的数据帧 但出现错误 asMethod object 中的错误 Cholmod 错误 问题太大 位于文件 Core cholm
  • 无限的列表是理智的吗?

    在Prolog中 是统一X 1 X 一种获得无限列表的明智方法 SWI Prolog 没有任何问题 但 GNU Prolog 只是挂起 我知道在大多数情况下我可以用以下内容替换列表 one 1 one X one X 但我的问题是明确是否可
  • 使用 Java Stream 从一组集合中收集所有对象

    我正在尝试学习 Java Streams 并尝试获得HashSet
  • 如何将日期转换为周数

    如何在 Excel 中将 20110114 YYYYMMDD 转换为周 例如 WK02 11 Thanks 首先将数字转换为日期 假设您的号码在 A1 单元格中 DATE LEFT A1 4 MID A1 5 2 RIGHT A1 2 然后
  • 如何让我的机器人忽略对话,直到直接解决该问题?

    我想将我的机器人添加到 Slack 频道 但我希望它忽略对话 直到直接解决它 例如 me hi me hi me bot hi bot why hello there 在 Microsoft Bot Framework v1 中 有一个选项
  • 将字符串转换为格式化日期

    我编写了 JavaScript 代码来读取名为的文本字段leave start and leave end并确定它们之间的日期 目前 我创建的日期如下所示 Mon Apr 6 2015 00 00 00 GMT 0400 但是 我希望每个日
  • SQL Server - 每个状态提取 X 条随机记录

    我有一个表 其中包含美国每个邮政编码的记录 为了在地图上显示 我需要为每个州选择 X 条随机记录 我该怎么做呢 Use WITH sample AS SELECT t ROW NUMBER OVER PARTITION BY t state
  • 如何不可知地从另一个 Django 模型链接任何对象/模型?

    我正在编写一个基于 Django 的简单 CMS 大多数内容管理系统依赖于固定页面 固定 URL 使用具有一个或多个可编辑区域的模板 要拥有可编辑区域 您需要一个页面 为了让系统确定哪个页面 您需要 URL 当您不再处理 页面 FlatPa
  • 当前工作目录到底是什么?

    我的书上说 计算机上运行的每个程序都有一个当前工作目录或 cwd 任何不以根文件夹开头的文件名或路径都假定位于当前工作目录下 由于我在 OSX 上 我的根文件夹是 当我输入时os getcwd 在我的 Python shell 中 我得到
  • 如何使用 javascript 获取可变字体轴?

    我正在开始开发一个编辑器 您可以使用它可变字体 https developer mozilla org en US docs Web CSS CSS Fonts Variable Fonts Guide Variable Fonts wha
  • 显式调用基类构造函数的重要性是什么?

    class A A class B public A B A 为什么我们需要在内部显式调用基类的构造函数B的构造函数 不是隐含的吗 这是隐式的 如果 A 有一个带有参数的构造函数 您将需要此语法 这是传递它们的方法
  • 在 django 开发过程中提供用户上传的文件

    这可能是一个愚蠢的问题 但在文档中它说 提供用户在开发过程中上传的文件 在开发过程中 您可以从以下位置提供用户上传的媒体文件 MEDIA ROOT 使用django contrib staticfiles views serve view
  • Asp.net MVC 4,如何以相同的形式制作主详细信息

    我使用实体框架 4 2 和 MVC 4 我得到了这个模型 数据库结构 用户信息用户ID PK 名姓 Email 用户最喜欢的颜色 大卫 派克 Color Why 用户ID 外键 是否可以在一个创建控制器操作中填充 UserInformati
  • 从程序集与进程中获取当前可执行文件的名称?

    这是后续这个答案 https stackoverflow com a 616588 37759 及其评论 从程序集获取可执行文件名称与从进程获取可执行文件名称有什么区别 System Reflection Assembly GetCalli