.net framework里的SDK和目标包有什么区别?

2020-02-01 10:54发布

问题:

最近重装了VS2019,在打开原来做的基于.net framewor4.8的项目时,

提示“要求安装.net framewor4.8、或者使用.net framewor4.6.1打开项目、或者先不打开”,选择安装4.8,会弹出一网页让下载,

然后再选择先不打开后,显示目录“已卸载”,原谅我忘了截图。
然后查看了一下安装时的选项,都是默认选的大类,按单个组件查看,发现选了.net framewor4.8SDk

试着勾选4.8后安装,再次打开项目,还是不行。VS里自带的目标包没作用,安装完后控制面板里没显示。于是用第一次打开的网页下载,下载开发包后安装,再次打开后OK了!貌似开发包就是目标包,安装前后在控制面板里显示为:

所以,这里边问题就来了,SDK和目标包、还有一个所谓的开发包,有什么区别?按理说开发包似乎就是SDK,但是我装了SDK却不能用、装了开发包后可以用,说明不一样。
注:下载开发包的时候还有一个同名文件的语言包,测试未安装是智能提示是英文的,安装后变成中文的。

回答1:

.NET Framework 4.8 目标包的英文名称是Targeting Pack

A targeting pack lets your app target a specific version of the .NET Framework when developing in Visual Studio and some other development environments. A developer pack includes a specific version of the .NET Framework and its accompanying SDK along with its corresponding targeting pack.

详见微软官方文档 Installation choices