【问题标题】:Targeting multiple framework versions in Visual Studio 2010面向 Visual Studio 2010 中的多个框架版本
【发布时间】:2010-10-21 17:33:44
【问题描述】:

在 Visual Studio 2010 中开发供 .NET 3.5 应用和 4.0 应用使用的共享类库的最佳实践是什么?

我可以使用单独的项目/解决方案文件,一个用于 3.5,一个用于 4.0,即 MyProject.3.5.csproj 和 MyProject.4.0.csproj,但我需要保持文件同步。有没有更好的办法?

【问题讨论】:

  • 您需要一个特别是 3.5 的版本和一个是 4.0 的版本吗? 4.0 应用程序可以很好地加载 3.5 程序集。
  • 我的印象是,如果您只安装了 .NET 4.0,您将无法运行 .NET 3.5 程序集,因为它使用不同的 CLR。我错了吗?
  • 例如,如果您想为 Microsoft Systems Center Operations Manager 编写代码,它表示您必须同时针对 .NET 3.5 和 4.x(请参阅msdn.microsoft.com/en-us/library/hh329057.aspx,标题为“Visual Studio 解决方案”的部分”)。我看不出如何针对多个项目,这是否意味着您在解决方案中需要 2 个项目,每个框架一个项目?

标签: .net visual-studio-2010


【解决方案1】:

您可以在 3.5 框架中创建一个项目并使用它来创建用于 3.5 或 4.0 项目的 Dlls

【讨论】:

  • 是的,你可以,虽然我还不清楚 4.0 CLR 是如何处理这个问题的,但你可以配置 4.0 应用程序(使用 app.config)来支持旧的运行时。
【解决方案2】:

我认为 VS 可以在同一个解决方案中针对不同版本的 .NET Framework 有不同的项目而不会遇到麻烦。创建一个空的解决方案(无论您使用哪个框架版本),然后添加相应的项目(在这里您可以为每个项目选择正确的 .NET 框架版本)。

如果您已有解决方案,则可以通过进入项目属性并在此处更改 .NET Framework 的目标版本来更改解决方案中任何项目的目标版本。

【讨论】:

  • +1:框架版本确实在项目级别控制,而不是解决方案级别。我们有几种解决方案,根据情况链接到 4.0/3.5/甚至 2.0 项目。
猜你喜欢
  • 2011-12-31
  • 2018-10-26
  • 1970-01-01
  • 2013-03-09
  • 2011-07-21
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
相关资源
最近更新 更多