lanshuhao 2022-08-16 14:02 采纳率: 100%
浏览 374
已结题

c#使用 .net6.0的应用程序为什么会多出来一个dll

vs2022 使用 .net6.0, 创建一个控制台应用程序, 生成后为什么在生成.exe文件的同时, 会出现一个同名字的.dll 程序?
如下图:

img

另外, 用IL打开它的时候, 会报错,如下图:

img

所以关于.net6.0 我想问以下问题:
1: 为什么会有多出来一个DLL文件?
2: 为什么无法用IL打开exe? 怎样才能用反编译软件打开.net 生成的exe文件?

  • 写回答

4条回答 默认 最新

  • wanghui0380 2022-08-16 14:12
    关注

    对的,这就是net6的特性。
    属于正常

    net6后面的目标是跨平台,所以他会生成跨平台的代码。这个exe只是一个app host用来兼容其他平台

    所以你把这个exe放到linux下也可以运行,至于你想打开他,他不能用IL打开。但是可以用查看通用可执行exe文件结构的工具打开

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 8月16日