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

时间:2010-06-18 13:33:01

标签: c# .net visual-studio assemblies reference

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

4 个答案:

答案 0 :(得分:3)

程序集列表直接绑定到当前项目中使用的.net版本。无法使用的组件是灰色的。请参阅“参考列表取决于.NET Framework目标”部分:

http://msdn.microsoft.com/en-us/library/ftcwa60a(VS.90).aspx

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

列出的程序集会有所不同,具体取决于项目属性中定义的项目框架版本。

例如,如果您将项目定义为使用.net 3.5,则可以添加System.Linq,但如果您使用.net 2.0则不会。

你可以在.net 3.5 / 4.0文章中看到什么是新的东西

答案 3 :(得分:1)

不包括编译到比您使用的更晚的框架的程序集。它们也必须是.NET程序集。如果代码中有C ++项目,则不能在引用中包含该dll。如果你想在bin中使用dll,你可以执行添加现有项目的操作,将dll添加为链接并设置copy newer属性。请记住,此方法不会级联。