将在VS2008上编写的代码部署到运行.NET Framework 2.0的服务器时出现问题



当我创建要部署的项目时,我选择了要针对.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的服务器进行开发和部署。我做错了什么?

右键单击项目并选择"属性"。从中选择"编译"选项卡,然后单击左下角的"高级编译选项"按钮。最后一个下拉列表项应该是"目标框架",您可以从中选择2.0。如上所述,如果您不使用任何与3.5相关的技术(如LINQ),则提供此功能。

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

希望这能有所帮助!

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

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

删除那些3.5引用。。。

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

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

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

关于这个问题,你可能需要的大部分信息都在这里的问答中:问题-执行-编译-35-服务器上的代码-仅限车辆-20帧

相关内容

最新更新