C# 是否编译dll文件?

C# 是否编译dll文件?,c#,asp.net,.net,dll,C#,Asp.net,.net,Dll,我的问题很简单 1-我们在c#中使用的dll是否编译为二进制 如果答案是肯定的 2-那么我如何在其他应用程序中重用它 我的意思是,当我创建另一个c#项目时,我可以使用相同的dll名称 我可以使用dll中的所有类 (我想我不能再使用它了,因为它变成了二进制)C#是.NET语言之一。因此,我将尝试使用.NET术语 1-我们在c#中使用的dll是否编译为二进制 不,所有.NET都编译为MSIL。不是二进制,不是机器代码。运行时的工作是将最终翻译成机器代码 您可以大致比较MSIL代码和Java字节码 2

我的问题很简单

1-我们在c#中使用的dll是否编译为二进制

如果答案是肯定的

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

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

1-我们在c#中使用的dll是否编译为二进制

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

您可以大致比较MSIL代码和Java字节码

2-那么我如何在另一个应用程序中重用它?我的意思是,当我创建另一个c#项目时,我可以使用相同的dll名称,并且可以使用dll中的所有类

同样的方法,.NET团队已经使用了dll的wirrten:

  • 添加对项目的引用
  • 使用完全限定名和/或使用指令
  • 请注意,也可以将.exe用作参考。它们的内部结构与.NET.dll非常相似,只是有一些本机引导代码和一个起点。

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

    1-我们在c#中使用的dll是否编译为二进制

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

    您可以大致比较MSIL代码和Java字节码

    2-那么我如何在另一个应用程序中重用它?我的意思是,当我创建另一个c#项目时,我可以使用相同的dll名称,并且可以使用dll中的所有类

    同样的方法,.NET团队已经使用了dll的wirrten:

  • 添加对项目的引用
  • 使用完全限定名和/或使用指令

  • 请注意,也可以将.exe用作参考。它们的内部结构与.NET.dll非常相似,只是有一些本机引导代码和一个起点。

    我只想补充一点,即使在项目中没有直接引用,您也可以重用程序集,因为程序集可以在运行时加载,但其中类型的用法将更加复杂,您可以发现,例如,在此

    中,我只想补充一点,即即使在项目中没有直接引用,您也可以重用程序集,因为程序集可以在运行时加载,但其中类型的使用将更加复杂,关于这一点,您可以发现,例如,在此

    中,您可能会在某种意义上看到.net程序集概念1)。源代码以二进制形式进行转换。2) 是的,您只需要在新项目中添加一个dll。3) 是的,因为源代码不是在机器代码中转换的,而是在CIL中转换的(参见上面的1),请发布一个问题。甚至有可能单个问题过于宽泛。我删除了“像dnSpy/ILSpy/DotNetPeak/这样的反编译器如何将.Net程序集转换为原始代码”的问题。。。正如@HimBromBeere所说的,在每篇文章中问一个经过充分研究的问题。从某种意义上说,你可能会看到.net汇编概念。源代码以二进制形式进行转换。2) 是的,您只需要在新项目中添加一个dll。3) 是的,因为源代码不是在机器代码中转换的,而是在CIL中转换的(参见上面的1),请发布一个问题。甚至有可能单个问题过于宽泛。我删除了“像dnSpy/ILSpy/DotNetPeak/这样的反编译器如何将.Net程序集转换为原始代码”的问题。。。正如@HimBromBeere所说的,在每个帖子上问一个经过充分研究的问题。