2013-11-04 69 views
0

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

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

这对我的测试台PC造成了一个问题,除了Windows以外,它没有任何东西。该应用程序正常工作,直到它需要访问参考/对象的点。在这一点上,它抛出了一个异常错误。

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

+0

什么异常它抛出? – Mansfield

回答

2

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

更方便的方法是手动将文件包含在项目中(在dev PC上查找它)并对复制的文件执行项目引用(听起来很奇怪,但这种方式不应该需要GAC注册过程在测试机器上)

另一种方式当然是如上所述安装完整的interop软件包。

这不`吨覆盖,因为它不能很好地通过微软定义的任何许可证问题..有2个的普遍观点:

  • 互操作程序集只创造可能性“对话”的办公室,以便它是免费使用它们......但为什么在没有办公室的系统上执行它?

  • 互操作程序集具有相同的EULA的办公室因此只能安装Office

微软没有明确说法时可以使用,我觉得这是一个常见的Microsoft战术......

1

在目标机器上安装Office Primary Interop Assemblies应该可以工作,但我无法就授权方面提供建议。

无论哪种方式,访问或PIA的需要在那里。

+0

谢谢你们 - 非常感谢。 – AndyDB