0

我想知道如何在 C# Express 中部署引用的 COM 对象。

我添加了 MS Access 对象,该对象在我的一个函数中使用。然而。当我使用 Express 中的“发布”工具构建安装包时 - 它似乎没有将其添加到包中。

这在我的测试台 PC 上造成了一个问题,它除了 Windows 之外什么都没有。该应用程序运行良好,直到需要访问参考/对象。此时它会引发异常错误。

如果这是一个许可问题——那很好(并且可以理解),但我只需要一些关于这个主题的信息。

4

2 回答 2

2

内部 .Net 程序集不会复制到输出目录,除非您告诉 Visual Studio 这样做。只需转到引用的程序集并将“复制本地”选项设置为“真”。

一种更方便的方法是手动将文件包含在项目中(在你的开发电脑上搜索它)并对复制的文件进行项目引用(听起来很奇怪,但这样在测试机器上不需要 GAC 注册过程)

另一种方法当然是如上所述安装完整的互操作包。

这不包括任何许可证问题,因为它没有被微软很好地定义.. 有两种一般意见:

  • 互操作程序集只创造了与办公室“交谈”的可能性,因此可以免费使用它们..但是为什么要在没有办公室的系统上执行呢?

  • 互操作程序集与 Office 具有相同的 EULA,因此只能在安装 Office 时使用

微软没有明确的说法,我认为这是微软常用的策略......

于 2013-11-04T17:18:19.137 回答
1

在目标机器上安装Office 主互操作程序集应该可以工作,尽管我不能就许可方面提供建议。

无论哪种方式,Access 或 PIA 都需要在那里。

于 2013-11-04T15:47:29.760 回答