2

我正在开发一个winforms使用DevExpress控件的应用程序。

在开发计算机上很好,但是当我尝试在客户计算机上部署应用程序时它不起作用,因为我猜它无法加载devexpressdll。

即使我将属性->发布->应用程序文件上的所有dll都包含在内,它也不起作用。

然后我Devexpress在目标计算机上安装了组件并开始工作。如何在不安装的情况下使应用程序在客户计算机上运行devexpress component library

4

3 回答 3

7

您提到您在属性 -> 发布 -> 应用程序文件中标记了它们。在大多数情况下,这些文件将被标记为包含,但有些文件可能会显示“先决条件(自动)”,您必须将它们明确标记为包含。在下面的示例屏幕截图中,您必须将 DevExpress.SpellChecker 从 Prerequisite 更改为 Include:

在此处输入图像描述

您可能还想在同一个对话框中选中“显示所有文件”复选框,看看是否有任何未明确标记为排除的列表。

最后,当您的应用程序在客户端计算机上失败时,异常详细信息应包含丢失组件的名称,这将为您提供重要线索。

于 2013-06-20T15:07:21.110 回答
0

在您的 DevExpress 安装文件夹中是一个子文件夹Bin\Framework。您已经使用它部署了您在应用程序中使用的 dll。

编辑:您还应该考虑阿德里亚诺的评论

于 2013-06-20T11:06:04.717 回答
0

如果您只是从 bin 文件夹中复制应用程序,则只需在解决方案的“参考”下找到 DevExpress dll,并将属性“CopyLocal”更改为“true”。

于 2015-08-12T20:08:52.927 回答