本帖最后由 tfsn20 于 2023-10-26 09:29 编辑
安装到D盘
2022使用64位(安装前先把其他版本删除),VS占用C盘过大且不能安装更改目录(能更改的只是一小部分),使用mklink在C盘创建硬链接到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的

要选择这个

支持.NET和.NET Core
打开项目显示未能正确加载"Code Analysis Package"包。
打开C:\Users\yourname\AppData\Local\Microsoft\VisualStudio路径,删除17.0XXXX文件夹,以管理员身份运行vs,会重新配置。

我等了好长时间也不好,直接从任务管理器结束了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,因为他压根就没有程序集这一项,


只能在COM里搜索form关键字找到这些:
。
其实有一种方法可以添加程序集的引用,在你.NET Framework框架项目中找到引用的System.Windows.Forms所在的位置,右击,点击属性,


可以看到引用的dll本地位置,然后再.NET框架项目中添加引用,浏览,找到刚刚的dll,勾上,确定。但是运行会出错。

查询System.BadImageFormatException,猜测可能是版本和移植问题(毕竟跨系统)。

淦,找不到新建非.NET Framework的控制台应用

怪的很,修复重新安装都找不到了(不建议),
可以尝试这样做:
在Visual Studio Installer点击修改



这里勾选.NET 桌面开发,接着勾选或取消勾选F# 桌面语言支持(这一步是为了经行整个框架的更新),点击修改,十分建议从Visual Studio Installer启动visual studio,直接启动visual studio(即使以管理员身份启动)可能导致一些框架模板的丢失。