当前位置: 首页 > news >正文

vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程

文章目录

  • 一、安装visual studio
    • 1.1推荐win10操作系统
    • 1.2推荐vs2022
    • 1.3选择工作负载
  • 二、新建基于.net的winform应用程序
    • 2.1为什么要.net
  • 2.2 新建.net窗体应用
      • 2.2.1 选择Window窗体应用
      • 2.2.2 .net窗体对比framework窗体
  • 三、发布.net应用

一、安装visual studio

1.1推荐win10操作系统

1.2推荐vs2022

社区版、专业版、企业版都可以

社区版免费,能满足大部分开发需求

如果是专业版可以尝试key【TD244-P4NB7-YQ6XK-Y8MMM-YWV2J】

如果是企业版可以尝试key【VHF9H-NXBBB-638P6-6JHCY-88JWH】

# 下载地址
https://visualstudio.microsoft.com/zh-hans/downloads

在这里插入图片描述

1.3选择工作负载

vs2019,vs2022都是用的在线安装,下载到本地的是一个安装器,叫VisualStudioSetup.exe
如果是.net和c++桌面开发,要选以下三个工作负荷:

  • .NET桌面开发
  • 使用c++的桌面开发
  • Windows应用程序开发
    如果是web端开发,还需要在勾选上ASP.NET和Web开发
    在这里插入图片描述

后面如果少组件可以通过运行安装器,选择"修改",再来配置,很方便。

二、新建基于.net的winform应用程序

2.1为什么要.net

自2016年开始,微软发布跨平台版本的.NET框架时,它作为经典.NET Framework的跨平台版本,被称之为.NET Core,.NET Core延续到3.1版之后,被改名为.NET 5,然后就是后来的6、7、8、9等各个版本。

刚刚我们安装的vs2022默认对应.net9 SDK,虽然说.net core/5/6/7/8/9是跨平台的,但是基于.net5/6/7/8/9和.net framework的桌面应用不能跨平台,可以简单这么理解只有.net控制台应用或者ASP.net Web应用跨平台,而winform和WPF只能在windows平台上运行。

那传统基于.net framework开发的winform和WPF有必要升级到.net吗?
当然有必要。我认为有两点原因,一方面可以使用.net的新特性,另一方面基于.net的应用可以独立发布,不需要目标PC安装任何.net framework或其他系统级别的组件。

就单单第2点就已经很香、很激动了。

2.2 新建.net窗体应用

2.2.1 选择Window窗体应用

不要选成.net framework了

在这里插入图片描述

2.2.2 .net窗体对比framework窗体

我在一个解决方案下新建了两个工程如下,.net默认的工程名称是WinFormsApp,framework默认的工程名称是WindowsFormsApp,有点晕啊,傻傻分不清楚。
在这里插入图片描述

左上角的icon颜色也不一样,.net的直接就是黑白色,更有科技感。🆒
在这里插入图片描述

三、发布.net应用

在项目上右键,选择"发布"

在这里插入图片描述

进入发布对话框后

  • 1.显示所有设置

  • 2.部署模式:独立(这样就不依赖.net运行时,在目标PC上双击exe就能运行,不需要目标PC上安装.net框架了!!!)

  • 3.生成单个文件,如果勾上的话,.net运行时那些文件会打包进exe中

    在这里插入图片描述

不过独立部署的时候,单个文件也勾选上,这样exe就很大有150M左右,还什么代码都没有写。

在这里插入图片描述

终于.net应用不需要目标PC也安装同样的.net framework了。


http://www.mrgr.cn/news/83137.html

相关文章:

  • 后台管理系统引导功能的实现
  • 如何用 ESP32-CAM 做一个实时视频流服务器
  • 【后端面试总结】设计一个分布式锁需要考虑哪些东西
  • 《Opencv》信用卡信息识别项目
  • 协作式 Saga 模式
  • idea java.lang.OutOfMemoryError: GC overhead limit exceeded
  • 创建基本的 Electron 应用项目的详细步骤
  • spark汇总
  • 【W800】UART 的使用与问题
  • 电脑硬盘系统迁移及问题处理
  • C# 特性
  • Qt 5.14.2 学习记录 —— 팔 QWidget 常用控件(3)
  • 个人博客搭建(二)—Typora+PicGo+OSS
  • 学习记录:C++基类构造函数的调用:理解和实践
  • selenium+pyqt5自动化工具总结
  • 夯实前端基础之HTML篇
  • 算法 -归并排序
  • 华为OD E卷(100分)50-预订酒店
  • 示波器Oscilloscope的使用方法
  • (长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
  • 学习记录:C++ 中 const 引用的使用及其好处
  • Spring AMQP-保证消费者消息的可靠性
  • 通俗易懂之线性回归时序预测PyTorch实践
  • 在 Ubuntu 22.04 上部署 AppArmor 应用安全教程
  • 现场展示deepseek VS openAI o1模型大对比
  • 论文笔记:FDTI: Fine-grained Deep Traffic Inference with Roadnet-enriched Graph