Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “添加引用”对话框中的程序集是否因使用的.Net framework而异?_C#_.net_Visual Studio_Assemblies_Reference - Fatal编程技术网

C# “添加引用”对话框中的程序集是否因使用的.Net framework而异?

C# “添加引用”对话框中的程序集是否因使用的.Net framework而异?,c#,.net,visual-studio,assemblies,reference,C#,.net,Visual Studio,Assemblies,Reference,我很好奇,“添加引用”对话框中的程序集列表是否因所选项目使用的.Net framework版本而异。如果它们确实不同,我很想知道它们的区别在哪里。谢谢 程序集列表直接绑定到当前项目中使用的.net版本。无法使用的部件已灰显。请参阅此处的“引用列表取决于.NET Framework目标”一节: 根据项目属性中定义的项目框架版本,列出的程序集会有所不同 例如,如果您将项目定义为使用.NET3.5,则可以添加System.Linq,但如果您使用.NET2.0,则不能 您可能可以在.net 3.5/4.

我很好奇,“添加引用”对话框中的程序集列表是否因所选项目使用的.Net framework版本而异。如果它们确实不同,我很想知道它们的区别在哪里。谢谢

程序集列表直接绑定到当前项目中使用的.net版本。无法使用的部件已灰显。请参阅此处的“引用列表取决于.NET Framework目标”一节:


根据项目属性中定义的项目框架版本,列出的程序集会有所不同

例如,如果您将项目定义为使用.NET3.5,则可以添加System.Linq,但如果您使用.NET2.0,则不能


您可能可以在.net 3.5/4.0中的“Whats new in.net 3.5/4.0”一文中看到目录是什么

不包括编译到比您使用的更高版本的框架中的程序集。它们也必须是.NET程序集。如果代码中有C++项目,则不能在引用中包含该DLL。如果您想在bin中使用该dll,可以执行添加现有项、将该dll添加为链接并设置“复制更新”属性等操作。但请记住,此方法不会层叠。

这仅与VS2010相关。.NET 2.0到3.5SP1的.NET程序集只有一个版本。您的项目将只引用这样一个程序集的唯一版本。框架目标设置只是阻止您添加对所选版本中不存在的程序集的引用


这与VS2010非常不同,因为它支持.NET4.0。这是一个可以与以前版本的.NET并行安装的版本。如果在框架目标设置中选择.NET 4.0和早期版本,则程序集引用列表现在会发生更改。这很微妙,只有属性网格中的Version属性发生了更改。

System.Linq
命名空间位于
System.Core
实际上,IIRC,System.Core在.Net 4.0中似乎是,呃,“隐式的”