tfsn20 发表于 2023-5-13 10:21:27

Visual Stdio 2022与C#

本帖最后由 tfsn20 于 2023-10-26 09:29 编辑

# 安装到D盘
2022使用64位(安装前先把其他版本删除),VS占用C盘过大且不能安装更改目录(能更改的只是一小部分),使用mklink在C盘创建[硬链接](https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/mklink)到D盘,我主要使用C#,以下是一些目录。
```
mklink /D "C:\Program Files (x86)\Microsoft SDKs" "D:\Visual Studio\Program Files (x86)\Microsoft SDKs"
mklink /D "C:\Program Files (x86)\Microsoft Visual Studio" "D:\Visual Studio\Program Files (x86)\Microsoft Visual Studio"
mklink /D "C:\Program Files (x86)\Windows Kits" "D:\Visual Studio\Program Files (x86)\Windows Kits"
mklink /D "C:\ProgramData\Microsoft\VisualStudio" "D:\Visual Studio\ProgramData\VisualStudio"
mklink /D "C:\ProgramData\Package Cache" "D:\Visual Studio\ProgramData\Package Cache"
mklink /D "C:\ProgramData\Microsoft Visual Studio" "D:\ProgramData\Microsoft Visual Studio"

mklink /D "C:\Program Files\Microsoft SDKs" "D:\Visual Studio\Program Files\Microsoft SDKs x64"
mklink /D "C:\Program Files\Microsoft Visual Studio" "D:\Visual Studio\Program Files\Microsoft Visual Studio x64"
mklink /D "C:\Program Files\Windows Kits" "D:\Visual Studio\Program Files\Windows Kits x64"

mklink /D "C:\Program Files\dotnet" "D:\Visual Studio\Program Files\dotnet"
```
原C盘目录一定是没有的,有的话要删除,先在D盘把目录创建好,另外一定要用管理员权限启动命令提示符(快捷键win+X再按A)。
为文件创建硬链接
```
mklink /h "D:\Program Files\Tools\MouseInc\MouseInc.json" "D:\OneDrive\Backup\MouseInc\MouseInc.json"
```
对于一些配置文件可以直接存放到云盘里同步。
# 一些框架解释
.NET Framework,只能在window上跑,window上一般都会预装这个框架,但是不支持C#8以上的新语法(比如??=);
.NET Core,跨平台,支持一些新语法,微软不再维护;
.NET,最新的跨平台框架,.NET Core最后一个是3.1版本,.NET5其实就是.NET Core的后续版本,不命名为.NET 4是为了与最新的.NET Framework 4.8区分开来,所以用了.NET 5 作为第一个后续。
建议使用.NET FrameWork4.8和最新的.NET 7.0(.NET不会取代.NET FrameWork)。
# 创建支持C#8新语法的控制台应用程序
不要选择带.NET Framework的
!(data/attachment/forum/202305/14/205252ar51aca25uf5j22g.png)
要选择这个
!(data/attachment/forum/202305/14/205325hgogqs5xaz6v6e6y.png)
支持.NET和.NET Core
# 打开项目显示未能正确加载"Code Analysis Package"包。
打开C:\Users\yourname\AppData\Local\Microsoft\VisualStudio路径,删除17.0XXXX文件夹,以管理员身份运行vs,会重新配置。
!(data/attachment/forum/202305/15/202327hfizr7thgifi4rsm.png)
我等了好长时间也不好,直接从任务管理器结束了VS,再打开记好了。
# 为项目添加引用
有什么用:比如可以为框架.NET Framework的控制台应用程序添加图形界面,需要右击项目,添加引用,程序集中搜索System.Windows.Forms,勾上,点击确定。
这时就可以直接使用了(可以不用using)
```
System.Windows.Forms.Form f =new System.Windows.Forms.Form();
```
使用using System.Windows.Forms简化代码,
```
Form f =new Form();
```
如果你的控制台引用程序是.NET框架,那么发现程序入口没有一个using,而且添加引用时搜索不到System.Windows.Forms,因为他压根就没有程序集这一项,
!(data/attachment/forum/202305/16/143721pw31huwapb623p2f.png)!(data/attachment/forum/202305/16/143723h4nzqnjc62nxj4cl.png)
只能在COM里搜索form关键字找到这些:
!(data/attachment/forum/202305/16/143816fwo36fwawlsws8sf.png)。
其实有一种方法可以添加程序集的引用,在你.NET Framework框架项目中找到引用的System.Windows.Forms所在的位置,右击,点击属性,
!(data/attachment/forum/202305/16/151329yr1ny2x180z8x7jl.png)!(data/attachment/forum/202305/16/151341cv5l32v26b6722zh.png)
可以看到引用的dll本地位置,然后再.NET框架项目中添加引用,浏览,找到刚刚的dll,勾上,确定。但是运行会出错。
!(data/attachment/forum/202305/16/151551vdmfnbdgm54dyo7n.png)
查询(https://learn.microsoft.com/zh-cn/dotnet/api/system.badimageformatexception?view=net-7.0),猜测可能是版本和移植问题(毕竟跨系统)。
!(data/attachment/forum/202305/16/151800f1t1bzhuunnaanyu.png)
# 淦,找不到新建非.NET Framework的控制台应用
!(data/attachment/forum/202305/17/092342kawdzo9accjajr2j.png)
怪的很,修复重新安装都找不到了(不建议),
!(data/attachment/forum/202305/18/105832trrywp7r7rf2f1p5.png)可以尝试这样做:
在Visual Studio Installer点击修改
!(data/attachment/forum/202305/17/093540q799hdp2ue14hueu.png)
!(data/attachment/forum/202305/18/105243san044noknfz3n8g.png)
!(data/attachment/forum/202305/18/105247x2c5epz52530cc2b.png)
这里勾选.NET 桌面开发,接着勾选或取消勾选F# 桌面语言支持(这一步是为了经行整个框架的更新),点击修改,十分建议从Visual Studio Installer启动visual studio,直接启动visual studio(即使以管理员身份启动)可能导致一些框架模板的丢失。
页: [1]
查看完整版本: Visual Stdio 2022与C#