商信互联
在本课程中,您将学习如何使用Xcopy部署方法来部署Windows Forms XAF应用程序。该方法以xcopy命令行实用程序命名,该实用程序将文件从一个位置复制到另一个位置。使用这种方法,您可以将应用程序文件从开发人员工作站复制到最终用户可以访问的位置。可以使用Windows资源管理器或其他文件管理器
代替xcopy实用程序来复制文件。但是,在某些情况下,命令行实用程序可能比图形用户界面(GUI)工具更方便。要了解有关xcopy命令功能的更多信息,请参考xcopy文档。
在开发人员工作站上执行以下步骤,以准备用于Xcopy部署的Windows窗体应用程序。
在Visual Studio中打开MySolution解决方案。在解决方案资源管理器中,展开MySolution.Win \ References文件夹。选择名称以“ DevExpress”开头的程序集。如果您使用实体框架,第三方控件或模块,请同时选择它们的程序集。在“属性”窗口中,将CopyLocal属性设置为True。
对应用程序项目中引用的所有模块项目重复此步骤(例如MySolution.Module和MySolution.Module.Win)。
将活动解决方案配置从Debug更改为Release。
确保MySolution \ MySolution.Win \ bin \ Release文件夹包含应用程序文件。
现在,Windows窗体应用程序已准备好进行Xcopy部署。
在最终用户工作站或终端服务器上执行以下步骤。
创建一个应用程序文件夹。例如,它可以是C:\ Program Files \ MySolution。通过网络或使用可移动媒体将MySolution \ MySolution.Win \ Bin \ Release文件夹内容从开发人员工作站复制到新创建的目录中。
由于Windows Forms应用程序项目引用了多个模块项目(例如MySolution.Module.Win和MySolution.Module),因此需要部署这些模块的引用程序集。从模块项目的输出文件夹(即MySolution \ MySolution.Module.Win \ Bin \ Release和MySolution \ MySolution.Module \ Bin \ Release)中复制所需的程序集。您可以跳过覆盖已复制的文件。
如果应用程序已本地化,并且在其中使用了预先构建的附属程序集,请执行以下操作。
检查以确保目标语言已添加到应用程序配置文件(MySolution.Win.exe.config)
<appSettings>
<!-- ... -->
<add key="Languages" value="en;de" />
<!-- ... -->
</appSettings>
支持的语言是通过“语言”键指定的。此键值包含受支持的语言代码,以分号分隔。
如果有几种本地化语言,请对每种语言重复这些步骤。
通过双击MySolution.Win.exe文件或其快捷方式来运行该应用程序。如果显示以下错误消息指出缺少程序集,则说明报告的程序集未从Developer Workstation全局程序集缓存(GAC)复制到Release文件夹中。
要解决此错误,请将所需的程序集复制到目标计算机上的应用程序文件夹。开发人员工作站上有两个位置,您可以在其中获得所需的组件。
您可以在Global Assembly Cache中注册所需的程序集,而不是将其复制到应用程序文件夹中。
再次运行该应用程序,然后确定是否还有另一个缺少的程序集。从开发人员工作站复制它。重复该过程,直到没有关于缺少程序集的错误消息。
请注意,错误消息可能如下所示。
该错误的原因也是缺少程序集,但是不清楚哪个程序集丢失。要找出它是哪个程序集,请打开应用程序日志文件。这是一个文本文件,位于应用程序文件夹或用户的应用程序数据文件夹中,并且具有最新的修改时间。查找与错误消息匹配的文本,并分析错误发生之前发生的情况。
从图像中可以看到,在这种情况下,应用程序尝试在发生错误时加载程序集。因此,应从开发人员工作站复制它。
仅需要来自Developer Workstation的运行时程序集。确保您不会意外复制名称与运行时程序集相同的设计时程序集或XML文件。
最后,应用程序将显示以下消息。
这意味着满足所有组装要求,并且应用程序现在需要在其配置文件中具有正确的连接字符串,并需要访问其数据库。在建立数据库连接的教训说明了如何解决这个问题。
如果执行本课程的任何步骤时遇到问题,请参阅《部署疑难解答指南》课程。
如有必要,将C:\ Program Files \ MySolution文件夹和MySolution桌面快捷方式复制到其余的每个最终用户工作站。如果要将Windows Forms应用程序部署到终端服务器,请按照“将客户端连接到终端服务器”课程中的步骤进行操作。
现在,您的应用程序需要连接到数据库才能正常运行。继续进行“设置数据库连接”课程,以了解如何进行。要使自己熟悉替代部署方法,请参加以下课程之一。