【问题标题】:ASP.NET 2.0 calling .NET 3.5 componentASP.NET 2.0 调用 .NET 3.5 组件
【发布时间】:2010-11-18 15:51:02
【问题描述】:

我有一个 ASP.NET 2.0 网站。我正在构建基于 .NET 3.5(特别是 Linq to Sql)的一些特性的新功能。

如果我在 Web 服务器上安装了 .NET 3.5(但将我的 IIS 应用程序保持为 .NET 2.0),我在调用 3.5 程序集时会遇到任何“问题”吗?谁能解释一下完成后会发生什么?

【问题讨论】:

  • 您尝试过看看会发生什么吗?
  • ASP.NET 2.0 版和 .NET Framework 2.0 不是一回事。
  • 一开始我避免将这些信息放在那里以避免混淆。 Web 应用程序是 SharePoint,所以我认为我无法在 Web 应用程序上升级框架版本...

标签: .net asp.net


【解决方案1】:

应该没有问题,因为您安装了 .net 3.5

.Net 3.5 本质上是 CLR 2.0,添加了来自 Framework 3.0 和 3.5 的附加 dll/程序集,当您使用 3.5 编写代码时,编译器会编译为 CLR 2.0

因此,您在 .net 2.0 中的代码可以调用 .net 3.5 中的代码(假设所有引用的程序集都可用),因为它们都使用相同的 IL 指令集,所以 MSIL 说起来(只是编造这个)没有区别!

一个例子是 MS 图表控件,它是 Framework 3.5,但可以在 .net 2.0 上正常工作,当然还有应用程序可用的 System.DAta.Datavisualization.dll

【讨论】:

  • 这一切都说得通,但是,我无法确认/否认。这最接近于实际提供我的问题的答案(这是为了解释正在发生的事情)。感谢您的帮助!
【解决方案2】:

如果您的 3.5 特定功能是从 WCF 之类的外部提供的,或者通过 SOAP 或 JSON 或类似的东西返回结果,我看不出有任何东西阻止您从 ASP.NET 2.0 站点使用它。但是,如果该功能只是您尝试引用的 dll,我知道我过去曾尝试过,除非我在我的网站上将框架目标增加到 3.5,否则 VS 不会让我这样做。不过这应该不是问题,因为 3.5 框架完全是对 2.0 框架的补充,但是如果您试图将 3.5 程序集排除在 2.0 网站之外,就会遇到问题。

【讨论】:

    【解决方案3】:

    只要安装了 .NET 3.5 运行时应该没问题。但是,将 2.0 应用程序定位到 3.5 也同样容易。

    【讨论】:

      【解决方案4】:

      重复?基本上,你应该能够做你所要求的......

      Can I run ASP.NET 2.0 and 3.5 code on the same website?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2010-12-17
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        • 2011-01-15
        相关资源
        最近更新 更多