是否可以强制 C# 编译器将所有引用的调用从框架中提取出来,并将它们打包到 dll 甚至单个可执行文件中?
我喜欢用 C# 编写快速的“一次性”应用程序,但是我不想在准备好后就必须在目标计算机上安装整个框架。
你问了一个有内涵的问题。 C# 只是一种语言,不需要 .NET Framework。编译它的过程需要一个编译器,该编译器本身可能依赖也可能不依赖 .NET Framework(Microsoft 的 C# 编译器不依赖 - 它是用本机代码编写的)。您的程序将需要引用一些程序集,其中可以找到供您使用的类型、类和方法。你can从引用列表中删除 system.dll 和 mscorlib.dll 并引用您自己的程序集。因此,如果您真正致力于 .NET Framework,则可以避免对它的依赖。但最终,除非您有一个将程序编译为本机代码的 C# 编译器,否则您仍然依赖于 CLR。
这是一种非常技术性的表达方式……几乎什么都没有。但它回答了你的问题。 :) 然而,更实际有用的是如何让 C# 程序以最少的依赖项运行。 mono 中的 mkbundle 实际上可以让您将其全部编译成几乎没有依赖项的 .exe。
但是,如果您想坚持使用 Microsoft .NET Framework,则可以通过使用 .NET 3.5 SP1 的客户端配置文件来实现更轻的占用空间和更快的安装常用依赖项。你可以在这里读到它:http://msdn.microsoft.com/en-us/library/cc656912.aspx http://msdn.microsoft.com/en-us/library/cc656912.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)