C# .net4.5 winform程序 怎么在没有net环境运行?
用什么mono?还是什么玩意的,网上找了好久都没找到好弄的。。有没有人弄过C#脱离.net。。别说用飞信什么的虚拟机,,这个只支持2.0,,现在是.net4.5,,,,真...
用什么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这样好的界面开发方式
.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这样好的界面开发方式
展开全部
现在就目前的生产力的环境下,.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
目前如果想脱离最有希望的方案是.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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用vs 基于.netframework4.5 开发的原生 winform 是不能跨平台的,目前微软的.net跨平台项目是 ASP.NET Core ,可以开发基于win环境和 linux环境的web项目 ,如果要运行在mac上 ,也只能用虚拟机了
更多追问追答
追问
你好,我的意思是假设有一个电脑A没有安装.net framwork。你要制作一个安装包让电脑A可以运行,这个安装包可以自带framwork,安装的时候直接不需要用户下载这个framwork就可以运行
追答
使用vs打包的时候可以同时将环境打包进去,这样包会很大,但是安装包的时候会自动安装环境
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你指不安装VS软件也可以运行你写的winform程序的话,可以这样解决你的问题。
打开你写的winform程序文件里面的与解决方案同名的文件底下的bin的Debug的程序名.exe运行。
程序名.exe是一个窗体应用程序,在安装Windows操作系统的电脑上使用,需要安装.net framework 4.5及以上版本之后才可以正常运行该窗体应用程序。
我写winform程序就是这样子做的,这样在别人的电脑上也可以运行我写的程序。
打开你写的winform程序文件里面的与解决方案同名的文件底下的bin的Debug的程序名.exe运行。
程序名.exe是一个窗体应用程序,在安装Windows操作系统的电脑上使用,需要安装.net framework 4.5及以上版本之后才可以正常运行该窗体应用程序。
我写winform程序就是这样子做的,这样在别人的电脑上也可以运行我写的程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
和Java的设计思想很相似,只平台上有相关环境就可以运行,.net也是一样,理论上可以在任何安装.net环境的系统平台上运行.
换句话说,没有.net 环境就不能运行.
如果你是想移植到linux,可以试试mono.
和Java的设计思想很相似,只平台上有相关环境就可以运行,.net也是一样,理论上可以在任何安装.net环境的系统平台上运行.
换句话说,没有.net 环境就不能运行.
如果你是想移植到linux,可以试试mono.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询