C# .net4.5 winform程序 怎么在没有net环境运行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# .net4.5 winform程序 怎么在没有net环境运行?相关的知识,希望对你有一定的参考价值。

用什么mono?还是什么玩意的,网上找了好久都没找到好弄的。。有没有人弄过C#脱离.net。。别说用飞信什么的虚拟机,,这个只支持2.0,,现在是.net4.5 ,,,,真正明白问题的来回答一下!

这是不行的,因为winform本身就依托于.net环境
.net framework为我们封装了对电脑的各种操作,你所使用的所有c# 语法(如MessageBox.Show("123");它会绘制一个窗口然后在显示器上输出“123”)都是.net 为我们封装好的,这些语法会综合使用底层的API接口以达到我们想要的功能,如果没有.net 环境计算机底层就不能识别我们写的代码,当然就无法运行
所以你可以在程序打包发布时加上.net 4.5的安装包,这样就可以在所有Windows上运行了
如果你是指在非Windows平台运行,那winform是达不到的,因为.net framework是不能跨平台的;但是现在微软新出一个跨平台的开源框架.net core;此框架可以保证基于此框架的.net 程序可以在所有操作系统上运行
但是这个框架也不能运行winform程序,你只能用.net语法在.net core上重新实现你的功能才能跨平台,只是现在.net core上并没有一个像winform这样好的界面开发方式
参考技术A 现在就目前的生产力的环境下,.NET程序是不能脱离.net环境运行的,
目前如果想脱离最有希望的方案是.NET Native
什么是.NET Native?
.NET Native是一套在Visual Studio 2015中编译通用Windows(UWP)应用的预编译工具,它可以将托管的中间语言二进制文件编译为本地二进制文件,每一个托管的通用Windows应用都将受益于这项新技术。在用户设备上安装之前,应用会自动编译为原生代码。有关其工作机制的详情可以查看MSDN。
目前这个.NET Native 还正在研发中,最新版本的VS已经集成,还不是很成熟,没有到商业化使用阶段
早期用的主要有下面几种 WinForm程序脱离.NET Framework的方法有以下几种: ­
( 1 ) .Net Linker :飞信就利用了它的核心。飞信是使用C#在.NET上开发的。.Net Linker比较贵,最便宜的版本要1000多美金,不过倒版的就例外了。 ­
( 2 ) 用飞信的虚拟机来引导自己开发的.NET程序。 ­
( 3 ) 使用MONO实现.NET框架脱离,还可实现跨平台。(开源免费,速度快,支持ASP.NET各个版本,强烈推荐) ­

就目前个人总结 相对成熟一些的 是.NET Native和Mono这两种方案,相信信息和最新进展 可以搜 索.NET Native和Mono
参考技术B 用vs 基于.netframework4.5 开发的原生 winform 是不能跨平台的,目前微软的.net跨平台项目是 ASP.NET Core ,可以开发基于win环境和 linux环境的web项目 ,如果要运行在mac上 ,也只能用虚拟机了追问

你好,我的意思是假设有一个电脑A没有安装.net framwork。你要制作一个安装包让电脑A可以运行,这个安装包可以自带framwork,安装的时候直接不需要用户下载这个framwork就可以运行

追答

使用vs打包的时候可以同时将环境打包进去,这样包会很大,但是安装包的时候会自动安装环境

追问

找到解决方案了。。。知道你说的这个解决方案,还是谢谢

本回答被提问者和网友采纳
参考技术C 如果你指不安装VS软件也可以运行你写的winform程序的话,可以这样解决你的问题。
打开你写的winform程序文件里面的与解决方案同名的文件底下的bin的Debug的程序名.exe运行。
程序名.exe是一个窗体应用程序,在安装Windows操作系统的电脑上使用,需要安装.net framework 4.5及以上版本之后才可以正常运行该窗体应用程序。
我写winform程序就是这样子做的,这样在别人的电脑上也可以运行我写的程序。
参考技术D C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
和Java的设计思想很相似,只平台上有相关环境就可以运行,.net也是一样,理论上可以在任何安装.net环境的系统平台上运行.
换句话说,没有.net 环境就不能运行.
如果你是想移植到linux,可以试试mono.

以上是关于C# .net4.5 winform程序 怎么在没有net环境运行?的主要内容,如果未能解决你的问题,请参考以下文章

C#中 winform程序 怎么制作纵向选项卡

c# winform程序怎么寻找焦点在哪个控件上?

C# winform程序,怎么实现菜单的功能?

C# winform程序,怎么实现菜单的功能

C# winform 程序 怎么动态设置BackgroundImage属性。这个图片的类型是啥 如果用代码编写我该怎么写

C# WinForm怎么用程序切换tabcontrol?