【问题标题】:SQL Server 2012 and .NET Framework 4.0SQL Server 2012 和 .NET Framework 4.0
【发布时间】:2012-09-22 08:28:47
【问题描述】:

我有一个为 SQL Server 2008 R2 和 ASP.NET 4.0 配置的服务器。

托管公司不支持 .Net Framework 4.5 和 SQL Server 2012 以及最新的实体框架。

我使用 .Net Framework 4.5 和最新的 Entity Framework 5 创建了我的网站。如何将发布设置更改为旧服务器执行该设置?

【问题讨论】:

    标签: asp.net sql-server-2008 entity-framework


    【解决方案1】:

    更改网站的目标框架,在解决方案资源管理器中右键单击网站选择“属性”。在出现的对话框中选择 Application now,将 Target Framework 更改为 4.0 并发布。

    【讨论】:

      【解决方案2】:

      您需要更改网站的目标框架。在 Visual Studio 中(选择您的网站项目)转到项目 > 设置。将目标框架从 .Net Framework 4.5 更改为 .Net 4。然后重新构建所有并测试您的应用程序。

      如果一切正常,您可以正常发布到您的虚拟主机。

      【讨论】:

      • @Parkhid:抛弃 EF 5,使用 NuGet 重新安装 EF 4.x,重新编译您的应用
      • 您可以将 EF5 与 .Net 4.0 一起使用。正如@marc_s 建议的那样,您可以使用 NuGet 工具安装 EF 包 nuget.org/packages/EntityFramework)
      【解决方案3】:

      以上2个答案都是正确的。此外,许多托管公司不支持任何版本的 MVC 或 EF dll。有任何简单的解决方法。只要您可以使用 .NEt 4.0 在 Visual Studio 2010 中编译代码,右键单击您的项目并单击“添加可部署的可部署依赖项”。选中您需要的 dll 组的复选框,它们将被添加到您的项目中,以便可以与您的网站一起部署。

      【讨论】:

        【解决方案4】:

        从 Nuget 安装 EF5 时,它将安装 EntityFramework.dll 程序集版本 5.0.0.0。如果您的应用面向 .NET Framework 4.5 或 EntityFramework.dll 程序集版本 4.4.0.0 如果您的应用面向 .NET Framework 4。它们之间的区别在于 .NET Framework 4 的 EF5 的范围缩小到核心支持的范围程序集 (System.Data.Entity.dll) 是 .NET Framework 的一部分(尤其是在 .NET Framework 4 上,您将不会获得枚举、空间类型等)。如果您在安装 EntityFramework 后更改了目标,那么您很可能需要卸载您拥有的内容并再次安装以获得正确版本的 EntityFramework.dll。

        【讨论】:

          【解决方案5】:

          您只需在框架 4 中创建一个新项目,并通过右键单击项目中的解决方案添加现有项目

          【讨论】:

            猜你喜欢
            • 2013-08-23
            • 1970-01-01
            • 1970-01-01
            • 2011-01-30
            • 1970-01-01
            • 2014-04-01
            • 1970-01-01
            • 2014-01-24
            • 2013-10-06
            相关资源
            最近更新 更多