这是不行的,因为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程序是不能脱离.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
用vs 基于.netframework4.5 开发的原生 winform 是不能跨平台的,目前微软的.net跨平台项目是 ASP.NET Core ,可以开发基于win环境和 linux环境的web项目 ,如果要运行在mac上 ,也只能用虚拟机了
如果你指不安装VS软件也可以运行你写的winform程序的话,可以这样解决你的问题。
打开你写的winform程序文件里面的与解决方案同名的文件底下的bin的Debug的程序名.exe运行。
程序名.exe是一个窗体应用程序,在安装Windows操作系统的电脑上使用,需要安装.net framework 4.5及以上版本之后才可以正常运行该窗体应用程序。
我写winform程序就是这样子做的,这样在别人的电脑上也可以运行我写的程序。
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
和Java的设计思想很相似,只平台上有相关环境就可以运行,.net也是一样,理论上可以在任何安装.net环境的系统平台上运行.
换句话说,没有.net 环境就不能运行.
如果你是想移植到linux,可以试试mono.