【问题标题】:Trouble deploying code written on VS2008 to server running .NET Framework 2.0将在 VS2008 上编写的代码部署到运行 .NET Framework 2.0 的服务器时遇到问题
【发布时间】:2010-09-16 09:52:31
【问题描述】:

当我创建我要部署的项目时,我选择了我想要以 .NET Framework 2.0 为目标的项目。部署项目后,我尝试浏览它并获取并显示错误页面:

<compilation debug="true">
    <assemblies>
        <add assembly="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>
</compilation>

VS2008 的一个卖点是你可以开发和部署到运行.NET2.0 的服务器我做错了什么?

【问题讨论】:

    标签: asp.net visual-studio-2008 .net-3.5 deployment .net-2.0


    【解决方案1】:

    右键单击您的项目并选择“属性”。从那里,选择“编译”选项卡,然后单击左下方的“高级编译选项”按钮。最后一个下拉列表项应该是“目标框架”,您可以从那里选择 2.0。如上所述,前提是您没有使用任何 3.5 相关技术,例如 LINQ。

    保存、重新编译和部署。设置完所有内容后,您可以返回并选择 3.5 选项以再次针对 3.5 框架。

    希望这会有所帮助!

    哦,还有一件事要注意。如果您在 3.5 应用程序中使用 AJAX Toolkit 控件(日历扩展器、自动完成扩展器等),则需要确保从 codeplex 站点下载 1.0 Toolkit,因为 3.5 Toolkit 与2.0 框架。

    【讨论】:

      【解决方案2】:

      您正在引用 .NET Framework 3.5 的程序集,您使用的是 EntityDataSources 吗??

      删除那些 3.5 引用...

      您还需要服务器上用于 .NET 2.0 的 AJAX 扩展 (System.Web.Extensions)。

      【讨论】:

        【解决方案3】:

        如果您使用 3.5 框架中的功能,则必须部署到 3.5 机器。

        此问题您可能需要的大部分信息都在此处的问答中: problems-executing-compiled-35-code-on-a-server-which-only-has-the-20-framework

        【讨论】:

          【解决方案4】:

          从您的项目中删除这些引用并重新部署。如果您的项目从 3.5 开始,它仍然会引用其中一些程序集

          【讨论】:

          • 如果您确定不使用这些程序集,请从您的 web.config 中删除这 3 行 :) 进行快速修复
          猜你喜欢
          • 2017-06-03
          • 1970-01-01
          • 2019-09-23
          • 1970-01-01
          • 2021-12-10
          • 2017-10-25
          • 2022-01-25
          • 1970-01-01
          • 2019-08-15
          相关资源
          最近更新 更多