• ASP.Net在64位环境开发部署常见问题


    越来越多的开发团队開始使用64位操作系统作为开发环境,也计划将应用部署在安装有64位操作系统的server上。对于ASP.Net开发人员来说。使用64位环境开发部署须要注意下面几个问题。可在项目过程中节省不少时间。

    1.ASP.Net在64位环境开发部署的常见故障

    非常多开发人员在使用64位操作系统时。在ASP.Net应用中使用了指定64位版本号程序库。

    比如一些专门的数据库驱动、设备驱动,但依旧出现下面错误提示信息:

    未能载入文件或程序集“……”或它的某一个依赖项,试图载入格式不对的程序。

     造成这样的故障的原因是。大部分ASP.Net编译器和容器并没有默认设置为64位,而是以32位兼容模式执行。

    此时。假设将程序库更换为32位。则系统执行正常。若打算坚持使用64位程序集,可根据下文所述方法进行设置。

    2.Visual Studio自带的IISExpress设置

    在64位操作系统中。Visual Studio自带的IIS Express是32位的。假设须要Visual Studio使用IIS Express调试使用64位程序集的ASP.Net应用。应使用64位版本号的IIS Express。

    设置方法例如以下:

    (1)关闭正在执行的IIS Express实例;

    (2)单击主菜单上的“工具”-“选项”命令,打开选项对话框;

    (3)在选项对话框文件夹树中“项目和解决方式”-“Web项目”标签,勾选“对网站和项目使用IIS Express的64位版本号”条目。


    3.Visual Studio公布Web项目时的设置

    在Visual Studio公布ASP.Net项目时,假设设置了在公布期间预编译功能。Visual Studio将调用ASP.Net编译器对项目进行编译。

     

    该编译器默认选择的是32位编译器,而Visual Studio未提供不论什么配置管理界面。更换64位编译器的方法为:

    (1)找到当前公布Web的配置文件名。本例中的文件名为PublishConfig;

     

    (2)在解决方式资源管理器的Properies文件夹下,找到相应的配置文件。打开进行编辑;

     

    (3)在该配置文件里加入下列语句:

    <AspnetCompilerPath>[Microsoft .Net Framework路径] Framework64[版本号号]</AspnetCompilerPath>

    比如:

    <AspnetCompilerPath>C:WindowsMicrosoft.NETFramework64v4.0.30319</AspnetCompilerPath>

    注意:Visual Studio 2010曾经的版本号配置方法有所不同。临时未找到相应解决方式,可选择不进行预编译。

    4.64位Windows Server上的IIS设置

    IIS能够针对详细的ASP.Net应用设置是否以64位环境执行,详细的操作方法例如以下:

    (1)部署Web网站后,打开Internet 信息服务(IIS)管理器。

    (2)在文件夹中选择应用程序池。选择目标网站的应用配置,通过右键菜单打开高级设置;

    (3)将启用32位应用程序选项设置为False。应用将以64位环境执行。


    5.编译器是否须要在解决方式配置中设置x64平台

    关于此问题,我查阅过一些文档,同一时候也进行了实验。个人观点例如以下:

    (1)普通的ASP.Net项目无需进行平台的设置,平台设置为x86和x64均不影响项目的编译和公布,因此使用默认的Any CPU平台就可以。

    (2)对于使用了有环境限制程序集的项目。如系统驱动、数据库驱动,最好是配置相应平台。

    在公布时环境异常,能够获取很多其它有效的信息。节省调试时间。

    后记

    诸多开发人员都对微软的文档不满。软件project师与律师的职业属性不同,每日不可能有诸多时间消耗在翻阅相似于法典的MSDN文档中。

    而我们希望的是能够针对可能出现故障的频率来组织开发资料,这样开发人员将少走非常多弯路。

  • 相关阅读:
    nginx win10 配置启动bat脚本
    linux ctrl + s 导致锁死 解决
    linux 执行shell 不小心导致无限死循环解决
    linux vim 意外退出导致下次vim进入报错提示恢复
    vue 自定义组件使用vmodel属性的具体说明,重点说明参数的定义
    echarts 官网首页能进去,但是演示和文档地址进不去的 win10解决办法
    mysql 报错 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled
    elementui h5 引入elementui 报错提示没有字体
    .net 中文传参
    ASP.NET, IE6下URL中文乱码问题 ASP.NET程序,当URL后缀包含奇数个中文字符
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10778156.html
Copyright © 2020-2023  润新知