汇编语言和动态链接库(DLL)的区别是什么?在向远程客户端发送代码时,应该发送DLL文件还是发送汇编程序(当两者之间有直接TCP连接时)?
汇编语言和动态链接库(DLL)的区别是什么?在向远程客户端发送代码时,应该发送DLL文件还是发送汇编程序(当两者之间有直接TCP连接时)?
程序集是.NET的“最小部署单元”。通常,一个程序集对应一个单独的文件,但不一定要这样 - 你可以有多个文件,其中一个是主文件,知道其他所有文件的位置。
单文件程序集通常是DLL或EXE文件。如果你有一个普通的类库,只想将其发送到另一端,那么DLL就是你想要的。只有在遇到更复杂的情况时才需要担心 :)
.NET的dll是一个程序集,但.NET的exe文件也可以是程序集,这意味着所有.NET的dll都是程序集,但反过来不成立。
你不应该向客户端发送实际代码。相反,你应该在客户端和服务器端都有类型定义,并在两者之间发送序列化的 实例。
汇编语言基本上是一个包含 MSIL 代码和元数据的文件。它是 .NET 应用程序最小的部署单位。在 .NET 中,一个程序集有两种扩展名(.exe 和 .dll)。
DLL : 动态链接库。因此,我们可以说 DLL 是一个程序集,但一个程序集不一定总是 DLL。
换句话说,DLL 是程序集的一种类型。
汇编是包含已编译代码的文件。有两种类型的汇编。当您编译C#程序时,就会创建一个汇编。可执行文件(有时称为“进程汇编”)具有EXE文件扩展名。本书中的所有程序都编译为可执行文件。这些是可以执行的汇编; 就是您可以双击运行的EXE文件。还有库汇编,其具有DLL文件扩展名。DLL代表动态链接库。它们通常被称为类库,因为它们包含可以在程序中使用的类。
独立于dll项目。
程序集是针对项目特定的。
程序集是一个或多个文件的集合,其中一个是DLL或EXE。
DLL包含可供在Windows上运行的任何程序使用的库代码。 DLL可以包含结构化或面向对象的库。
DLL文件可以有几乎无限的可能入口点。
bin中存在的程序集可以具有强/弱名称,而GAC中的程序集应具有强名称。
.Exe 1. 这些是出站文件。 2. 每个应用程序只存在一个 .exe 文件。 3. .Exe 不能与其他应用程序共享。
.dll 1. 这些是入站文件。 2. 一个应用程序中可能存在多个 .dll 文件。 3. .dll 可以与其他应用程序共享。
汇编是预编译的代码,将被传递到 .net JIT 运行时。
它是一种机器无关的代码格式,可以由任何 .net 命令语言运行时运行。
DLL 和 EXE 是汇编的常见格式。
程序集和 DLL 之间的区别有点像飓风和台风之间的区别。这只取决于它发生在哪个海洋。
.NET 世界中的 DLL 或 EXE 被称为程序集。而在本地 Windows 系统中,它们被简单地称为 DLL 或 EXE。
另一个值得注意的区别是,程序集可以是 DLL 或可执行文件。而在本地 Windows 系统中,我们通常认为 DLL 和可执行文件是两种不同类型的项目。
“Assembly”是一个用于.NET资源的术语。这不一定是DLL。 DLL可以是.NET资源,但也可以是“本机”资源。程序集可以打包在DLL或EXE中。这取决于特定的程序集。
如果这类似于您的其他问题,您需要发送包含程序集的文件。您可能能够做一些更复杂的事情,但仅仅如此。