Ton*_*Nam 2 .net c# installation asp.net-4.0
我主要是要问这个问题.假设我想将一个非常小的控制台应用程序发送给(50 lines of code Also I am using the System.Text.RegularExpresion namespace.)在.net framework 4.0上的c#上写的朋友.我想使应用程序可移植,因此我只是向他发送bin目录的输出.
为什么他必须安装.net framework 4.0客户端需要很长时间.另外,最好只包含我计划在这种情况下使用的DLL库(该库包含system.text.regularexpressions命名空间).
换句话说,为什么我不能在我的控制台应用程序中包含system.dll以使其可移植并且在没有安装.net框架的计算机上工作.
为什么.net framework 4.0的安装如此复杂?如果C:\Program Files\.net framework 4.0\将安装了所有.net库的窗口安装在安装该框架的路径的注册表上,以便程序能够找到有意义的dll,那么会发生什么情况.
为什么装置一般如此复杂?
我试图用反射器装饰system.dll然后在我的项目中包含那个并且没有用
我想我的问题应该是为什么.net framework 4.0需要很长时间才能安装?为什么运行.net框架4.0是不可行的,如果窗口将必要的dll放在程序文件上,然后将这些dll所在的路径写入注册表.这个过程会快得多.为什么不这样做呢?
感谢您的帮助,我现在了解CLR的重要性.我想我唯一想知道的部分是为什么安装需要这么长时间.我知道有成千上万的dll.将这些dll解压缩为程序文件并在注册表上编写10000个密钥应该更快.
您的问题似乎归结为"为什么我需要安装整个.NET Framework,而不是只包含所需的DLL?"
答案是.NET Framework不仅仅包含DLL.该框架的另一个主要组件是CLR,它负责执行和管理.NET代码..NET Framework包含许多其他较小的东西(例如编译器),这些东西不是运行代码所必需的,但仍包含在框架中.
CLR对于.NET比DLL本身更重要.它类似于计算机上的CPU.没有它,什么也做不了,你拥有的可执行程序只是垃圾数据.CLR负责将JIT编译为本机可执行文件,内存管理等.它在概念上与JVM for Java应用程序非常相似.
甚至DLL也比看起来更复杂.虽然理论上可以(忽略CLR一分钟)在应用程序中部署依赖DLL,但请记住,所有这些DLL(mscorlib除外)都依赖于更多的DLL,依此类推,包括大量的依赖项用于简单的应用程序.