dll文件是否已编译? [重复]

问题描述 投票:0回答:2

我的问题很简单

1-是我们在C#中使用的dll被编译为二进制文件吗?

如果答案为是?

2-因此如何在其他应用中重复使用当我创建另一个C#项目时我的意思是我可以去使用相同的dll名称我可以使用dll内的所有类(我想我不能再使用它了,因为它变成了二进制文件)

c# asp.net .net dll
2个回答
2
投票

C#是.NET语言之一。因此,我将尝试使用.NET术语进行发言。

1-是我们在C#中使用的dll被编译为二进制文件吗?

不,所有.NET都编译为MSIL。不是二进制的,不是机器代码。在运行时完成对机器代码的最终翻译。

您可以粗略地将MSIL代码与Java字节码进行比较。

2-所以我如何在另一个应用程序中重用它,当我创建另一个C#项目时,我可以去并使用相同名称的dll,并且可以使用dll内的所有类,这意味着什么

完全相同的方式,您已经使用.NET团队使用的dll:

  1. 添加对项目的引用。
  2. 使用完全限定的名称和/或使用指令。

注意,.exe也可以用作参考。它们的内部结构与.NET .dll非常相似,除了一些本机引导程序代码和起点。


0
投票

我只想补充一点,因为程序集可以在运行时加载,所以即使在您的项目中没有直接引用,您也可以重用程序集,但是它的类型用法将更加棘手,例如,您可以找到更多关于此的信息。 ,在此answer

© www.soinside.com 2019 - 2024. All rights reserved.