当前位置:  开发笔记 > 编程语言 > 正文

你能编译C#所以它在运行时不需要.NET Framework吗?

如何解决《你能编译C#所以它在运行时不需要.NETFramework吗?》经验,为你挑选了5个好方法。

是否有可能强制C#编译器将所有引用的调用拉出框架并将它们打包成dll甚至单个可执行文件?

我喜欢用C#编写快速的"一次性"应用程序,但是我不想在目标机器上准备好后再安装整个框架.



1> Andrew Arnot..:

你问一个加载的问题.C#只是一种语言,不需要.NET Framework.编译它的过程需要一个编译器,它可能会也可能不会依赖于.NET Framework(Microsoft的C#编译器不会 - 它是用本机代码编写的).您的程序需要引用一些程序集,其中可以找到供您使用的类型,类和方法.您可以从引用列表中删除system.dll和mscorlib.dll并引用您自己的程序集.因此,如果您真正使用.NET Framework,则可以避免依赖.NET Framework.但最后,除非你有一个C#编译器将程序编译为本机代码,否则你仍然依赖于CLR.

这是一种非常技术性的说法......几乎没有.但它回答了你的问题.:)然而,实际上更有用的是如何让C#程序以最少的依赖性运行.来自mono的mkbundle实际上会让你把它全部编译成一个几乎没有依赖的.exe.

但是,如果您希望坚持使用Microsoft .NET Framework,则可以使用.NET 3.5 SP1的客户端配置文件实现更轻松的占用空间并更快地安装您通常需要的依赖项.你可以在这里阅读:http: //msdn.microsoft.com/en-us/library/cc656912.aspx


客户端配置文件已终止.net 4.5

2> denis philli..:

使用Mono 查看mkbundle.



3> 小智..:

现在可以使用Microsoft .NET Native将C#编译为本机代码:https: //msdn.microsoft.com/en-us/library/dn584397(v = vs.110).aspx

它会自动编译以托管代码(C#或Visual Basic)编写的应用程序的发布版本,并将.NET Framework和Windows 10的目标编译为本机代码.

...

对于应用程序的用户,.NET Native提供以下优势:

•执行时间快

•始终如一的快速启动时间

•低部署和更新成本

•优化应用程序内存使用情况

这仅适用于Visual Studio .NET 2015.



4> markt..:

看一下.NET客户端配置文件.这将允许您在客户端计算机上打包最小安装..稍后将通过Windows更新更新到完整框架.

当然,这取决于您的应用仅使用客户端配置文件中包含的库...

这里有一些信息:http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspx



5> ChrisW..:

据说可以使用第三方工具,例如http://www.remotesoft.com/linker/

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有