EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

ASP.NET应用程序的Xcopy部署

在本课程中,您将学习如何使用Xcopy部署方法来部署ASP.NET XAF应用程序。该方法以xcopy命令行实用程序命名,该实用程序将文件从一个位置复制到另一个位置。使用这种方法,您可以将应用程序文件从开发人员工作站复制到Web服务器。可以使用Windows资源管理器或其他文件管理器来复制文件,
而不是xcopy实用程序。但是,在某些情况下,命令行实用程序比图形用户界面(GUI)工具更方便。要了解有关xcopy命令功能的更多信息,请参考xcopy文档。

在Developer Workstation上执行以下步骤,为Xcopy部署准备ASP.NET应用程序。

  • 在Visual Studio中打开MySolution解决方案。在解决方案资源管理器中,展开MySolution.Web \ References文件夹。选择名称以“ DevExpress”开头的程序集。如果您使用实体框架,第三方控件或模块,请同时选择它们的程序集。在“属性”窗口中,将CopyLocal属性设置为True

    Deployment_Tutorial_1010

    对应用程序项目中引用的所有模块项目重复此步骤(例如MySolution.ModuleMySolution.Module.Web)。

  • 将活动解决方案配置从Debug更改为Release

    Deployment_Tutorial_0020

  • 打开MySolution.Web \ Web.config文件。在system.web部分中,将编译的debug选项设置为false

    <system.web>
        <!-- ... -->
        <compilation debug="false">
        <!-- ... -->
    </system.web>
    
  • 生成并运行ASP.NET应用程序。
  • 检查应用程序是否正确执行并关闭它。
  • 确保MySolution \ MySolution.Web文件夹包含应用程序文件。

    Deployment_Tutorial_1015

  • 如果MySolution \ MySolution.Web \ Bin文件夹包含PDB文件,请删除它们。

现在,ASP.NET应用程序已准备好进行Xcopy部署。

  • 在Web服务器上创建一个应用程序文件夹(例如C:\ Sites \ MySolution)。将MySolution \ MySolution.Web文件夹内容从Developer Workstation复制到新创建的文件夹。使用Internet信息服务(IIS)管理器在服务器文件系统中创建链接到c:\ Sites \ MySolution文件夹的mysolution虚拟应用程序文件夹。在IIS管理器从服务器访问开始菜单| 管理工具。

    Deployment_Tutorial_1017

    由于ASP.NET应用程序项目引用了多个模块项目(例如MySolution.Module.Web和MySolution.Module),因此需要部署这些模块的引用程序集。从引用的模块项目的输出文件夹中复制这些程序集(即MySolution \ MySolution.Module.Web \ Bin \ ReleaseMySolution \ MySolution.Module \ Bin \ Release)。这些输出文件夹中的程序集文件应复制到应用程序文件夹的Bin子文件夹中(例如C:\ Sites \ MySolution \ Bin)。您可以跳过覆盖已复制的文件。

    注意

    如果要将应用程序部署到远程Web托管,则不需要通过IIS管理器创建文件夹。在Web根文件夹(通常将其命名为wwwroot)中创建mysolution子文件夹。将MySolution \ MySolution.Web文件夹内容从开发人员工作站上载到创建的文件夹(例如,通过FTP)。如果您在访问Web根文件夹时遇到问题,请与主机支持联系。

  • 如果应用程序已本地化,并且在其中使用了预先构建的附属程序集,请执行以下操作。

    1. bin文件夹中创建一个子文件夹。子文件夹名称应为区域性代码(例如,德语为“ de”)。
    2. 将所需的附属程序集复制到子文件夹。
    3. 检查以确保目标语言已添加到应用程序配置文件(Web.config)。

      <appSettings>
          <!-- ... -->
          <;add key="Languages" value="en;de" />
          <!-- ... -->
      </appSettings>
      

      支持的语言是通过“语言”键指定的。此键值包含受支持的语言代码,以分号分隔。

    如果有几种本地化语言,请对每种语言重复这些步骤。

  • 在Web服务器本地或有权访问Web服务器的任何远程工作站上打开Web浏览器。如果启动了Web Server本地浏览器,请在浏览器地址栏中键入“ http:// localhost / mysolution /”。如果在远程工作站上启动了浏览器,请键入“ http:// localhost / mysolution /”“ http:// <您的服务器名称> / mysolution”。按ENTER键。如果Web服务器显示一条错误消息,指出缺少程序集,则在构建应用程序时,报告的程序集不会从开发人员工作站全局程序集缓存(GAC)复制到MySolution.Web \ Bin文件夹中。

    Deployment_Tutorial_1030

    若要解决此错误,请将所需的程序集复制到Web服务器上的Bin文件夹中。开发人员工作站上有两个位置,您可以在其中获得所需的组件。

    • %PROGRAMFILES(x86)%\ DevExpress 19.2 \ Components \ Bin \ Framework
    • %PROGRAMFILES(x86)%\ DevExpress 19.2 \ Components \ Bin
    注意

    您可以在Global Assembly Cache中注册所需的程序集,而不是将其复制到应用程序文件夹中。

    刷新网页,然后查看是否还有另一个缺少的程序集。从开发人员工作站复制它。重复该过程,直到没有报告丢失的程序集上的错误。

    请注意,如果使用“ http:// <您的服务器名称> / mysolution” URL从远程工作站浏览应用程序,则可能会显示以下简短错误页面,其中不包含缺少的程序集名称。

    Deployment_Tutorial_1020

    Web服务器错误消息可能包含仅用于开发人员的信息,而不能用于公共访问。这就是为什么默认情况下在ISS中禁用未处理错误信息的显示的原因。启动浏览器,并在本地打开Web服务器上的应用程序(如果可能)。如果没有这种访问权限,请如下所示修改应用程序Web.config文件。

    <system.web>
        <!-- ... -->
        <customErrors mode="Off">
    </system.web>
    

    这使您能够在远程浏览器上获取详细的错误描述(通常是有关缺少程序集的消息)。出于安全原因,我们建议您在成功部署后撤消Web.config文件中的这些更改。

    注意

    仅需要来自Developer Workstation的运行时程序集。确保您不会意外复制以运行时程序集命名的设计时程序集或XML文件。

  • 最后,应用程序将显示以下消息。

    Deployment_Tutorial_1080

    这意味着满足所有组装要求,并且应用程序现在需要在其配置文件中具有正确的连接字符串,并需要访问其数据库。在建立数据库连接 的教训说明了如何解决这个问题。

注意

如果在执行本课程中的步骤时遇到任何问题,请参考《部署故障排除指南》课程。

现在,您的应用程序需要连接到数据库才能正常运行。继续进行“设置数据库连接”课程,以了解如何进行。要使自己熟悉替代部署方法,请参加以下课程之一。

相关文章

转载保留此链接,注明出处