【学习笔记】.net安装 vscode安装 踩坑记录(win11)
我这里大概理解下,clr类似java虚拟机jvm,就像jvm有多个实现,clr有限定windows平台的.net framework和跨平台的mono,以及后面整合所有平台进行大一统的.net core(存疑),都是基于.net标准的不同实现,unity因为跨平台性选择了mono。我擦,怎么没人说阿,那我就按高版本的开发了,我看5以下的都不长期支持了,还有个8.0的,算了先用7.0,以后熟了再说。
主要问题:
- 看网上c#开发与 .net关系云里雾里,搞清楚
- .NET SDK 和 .NET Framework区别?
- 下.net 6还是7?【我选7】
- cs code无法跳转方法,F12无效,右键丢失F12 【按照提示下载dotnet framework 4.7.1sdk即可】
- OmniSharp是什么
- 需要额外安装mono NuGet吗?(好像是mac才需要)【哦 nuget类似java中maven】
1. unity mono .net c#关系
这篇讲的简炼易懂
Mono,CLR,.net,Net Framework之间的关系
- .Net:以下这些技术的统称。是一个平台,而.NET平台有一个实现标准,叫做.Net Standard;
- .Net Framework/.Net Core/Mono:实现了这个标准,其选择的组件不一定相同
- CLR:Common Language Runtime 一个执行引擎,用于进行一类程序(CLI),提供类型系统、垃圾回收、JIT等功能;目前有3个主要实现,分别为coreclr用于.Net Core、desktop clr用于.Net Framework(有了coreclr之后才获得的一个相对”名称)、Mono(没人给其中的runtime部分单独取名)
我这里大概理解下,clr类似java虚拟机jvm,就像jvm有多个实现,clr有限定windows平台的.net framework和跨平台的mono,以及后面整合所有平台进行大一统的.net core(存疑),都是基于.net标准的不同实现,unity因为跨平台性选择了mono。
搜到这篇回答,十分棒
魅力.NET:从Mono、.NET Core 说起
简单说就是源代码通过编译器编译成中间语言CIL,然后通过CLR转换成机器码,基本搞懂了这些术语关系。
unity+vscode 开发环境
首次用VsCode调试unity的c#和lua代码的踩坑记录
应该就是vscode 配置unity问题了,今晚继续搞一下,也运行调试不了,这真的…
.NET SDK 和 .NET Framework区别?
看起来就是用这个.net 7.0开发就行了,包含文档 库 用例啥的,就像jdk1.8这种,但如果要查看.net的低版本实现,还是要下对应目标包(target pack),就像下载jdk1.5 jdk1.6去查看历史实现一样
所以现在就是看下 dotnet 7.0还是6.0
参考链接
知乎
StackOverflow
下载.net 6.0 还是7.0的sdk?
我擦,怎么没人说阿,那我就按高版本的开发了,我看5以下的都不长期支持了,还有个8.0的,算了先用7.0,以后熟了再说
可以看到这里sdk确实包含runtime了,就像jdk自带jvm一样?
cs code无法跳转方法,F12无效,右键丢失F12
下完sdk,F12就出来了
但跳转会报错
日志有这些东西,但4.7.1已经安装了阿,重启下试试
重启后连F12都消失了emmm…
但为啥Animator这个都能自动补全阿,哦应该是其他插件补的,为啥,哪个sdk有问题?
欸 我发现了,从unity打开cs文件就有F12了,单独打开就没有,估计需要项目空间?
但报错问题依旧没解决!(明天继续吧,睡觉。算是有个小突破)
继续
啊?还要下载4.7.1开发包?
看很多说改extension c# always use mono,那个应该是mac才有的问题,我这是win11,所以问题还是不一样。
那就按照提示下载dotnet framework 4.7.1sdk
然后就成功了!
感谢先行者:
解决 使用VisualStudioCode无法跳转到定义 F12不起作用
虽然解决了,但还是有些一头雾水,对于windows,dotnet framework作用是什么,为什么有了dotnet core sdk还要这个sdk?对于mac来说为什么还要mono?之后有空再继续补充吧。
能够跳转给了我一剂强心剂,哦耶!!!!
更多推荐
所有评论(0)