【问题标题】:How to get code library targetting .Net 4 to work with .Net 3.5 application如何获取面向 .Net 4 的代码库以与 .Net 3.5 应用程序一起使用
【发布时间】:2011-06-01 03:06:30
【问题描述】:

我正在构建一个新的代码库,并希望使用 .Net 4 作为我的目标框架,因为我所有的新应用程序都将使用 .net 4。我的旧 Web 应用程序使用 .Net 3.5。我想将此代码库用于我的所有应用程序。

此时,我只看到 2 个选项

  1. 为我需要的每个框架编译 dll,每次都更改目标框架
  2. 使用不同的目标框架创建单独的项目。

有什么办法可以解决这个问题,所以我的代码库是单次编译的吗?不知道 4 中是否有内置的东西来允许这样的事情。

【问题讨论】:

    标签: .net asp.net .net-3.5 .net-4.0 interop


    【解决方案1】:

    为什么不针对 .NET 3.5 构建您的库?

    • 如果他们尝试使用 .NET 4 功能,那么显然他们无论如何都不会对您的 .NET 3.5 webapps 起作用
    • 如果不是,那么使用 .NET 3.5 应该没问题

    关于互操作和混合模式程序集有一些注意事项,但对于纯 C# 程序集,这应该不是问题。

    可能针对不同版本的框架有不同的构建配置,但有点麻烦 - 您需要手动处理项目文件。以MiscUtil 的项目文件为例。

    我不明白为什么您之前对 .NET 2 / .NET 3.5 的情况感到满意 - 与此并没有太大的不同。

    当然,更新您的 web 应用程序以在 .NET 4 上运行可能是最好的解决方案,并且继续前进。

    【讨论】:

    • 这是一个 DAL,我希望使用 EF4。
    • @asp316:那么您希望它在 .NET 3.5 中如何工作?
    • @Skeet - 我认为它不会起作用。我想我会问是否有一个互操作技巧可以让这样的事情继续工作,直到我的网络应用程序升级到 net4。
    • @asp316:但你声称你对 .NET 3.5 和 .NET 2 没问题 - 你会如何尝试让 .NET 2 应用程序使用 .NET 3.5 API?
    • @asp316: .NET 2/3/3.5 使用相同的 CLR,但使用 CLR 4 的更改不太可能对您产生太大影响。对于大多数应用程序而言,将应用程序升级到 .NET 4 应该不会比从 2 升级到 3.5 更难。
    猜你喜欢
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 2011-09-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多