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

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.kler.cn/a/487886.html

相关文章:

  • Figma如何装中文字体-PingFang苹方字体、Alibaba PuHuiTi阿里普惠
  • Typescript使用指南
  • vue el-table 数据变化后,高度渲染问题
  • 【Java项目】基于SpringBoot的【校园交友系统】
  • Git最便捷的迁移方式
  • 从零开始:使用VSCode搭建Python数据科学开发环境
  • STM32 : PWM 基本结构
  • [network]回顾:集线器(Hub)
  • poi-tl+kkviewfile实现生成pdf业务报告
  • 深入Android架构(从线程到AIDL)_21 IPC的Proxy-Stub设计模式03
  • 【C++】C++11(二)
  • 通过 crontab 每天定时启动一个 Java JAR 包并调用特定的 `main` 方法
  • LeetCode599 两个列表的最小索引总和
  • jenkins 调用bat脚本
  • 计算机网络之---TCP/IP四层模型
  • 算法-cpp入门语法练习题
  • ubuntu22.04 的录屏软件有哪些?
  • 集合——数据结构
  • linux-磁盘io性能指标!
  • Golang的代码压缩技术应用案例分析与研究实践
  • 网络基础知识--11
  • Kali系统(Debian 10.3) 遇到的问题
  • MySQL_约束
  • 夜话卡尔曼滤波(2) - 变量定义
  • Euler 21.10安装oracle 19.22单机安装
  • C#语言的数据结构