2

我创建了一个 ClickOnce 部署,并且一些正在安装它的客户端收到错误:

无法安装或运行应用程序。该应用程序要求首先将程序集 MSDATASRV 版本 7.0.3300.0 安装在全局 Assumbly 缓存 (GAC) 中。

这是一个 Microsoft dll,位于我的构建机器上的“C:\Program Files\Microsoft.NET\Primary Interop Assemblies”中,并在我的项目中被引用。

我知道有些客户没有这个。我需要找出这个 DLL 来自哪里以及为什么它只从一些客户端中丢失。由于它是 Microsoft Dll,我不能自己分发它。

4

2 回答 2

1

您实际上不太可能需要 PIA。选择 MSDATASRC 程序集引用并将其 Copy Local 属性设置为 True。现在,您将在构建目录中获得 Interop.MSDATASRC.dll 的副本,并将其与其余可执行文件一起部署。

做这个测试。如果您现在在测试代码时收到 InvalidCastException,那么您确实需要在用户机器上部署 PIA。您不能使用 ClickOnce 执行此操作,您必须要求用户自己安装它。下载并安装 Office PIA 即可完成。您还强烈希望考虑更新您的 VS 版本,VS2010 及更高版本支持嵌入互操作类型选项,也称为“无 PIA”选项。

于 2013-11-06T15:36:20.040 回答
1

当我忘记在 Visual Studio 中将解决方案配置从“调试”更改为“发布”时,我遇到了同样的错误。

于 2014-04-16T06:23:35.643 回答