应用要求在GAC中安装assembly office version 12.0.0.0

Application requires that assembly office version 12.0.0.0 be installed in GAC

我有一个要发布到 clickonce 服务器的 .csproj。 当我从一台开发计算机发布应用程序时,它可以正常工作,并且可以毫无问题地从服务器启动程序。

我从 svn 下载相同的项目到另一台计算机并尝试发布它。我猜这一步有点奏效,因为程序已成功发布,没有任何错误。

但是当我尝试从服务器启动程序时出现错误: 应用程序要求首先在Global Assembly Cache(GAC)中安装assembly office version 12.0.0.0。

更新:(也在评论中发布了信息)。尽管我不知道如何解决,但我在两台机器上都收到此警告。但我猜这可能是问题的原因:

无法解决 "office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 和 "office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 之间的冲突。任意选择 "office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"。 1> 考虑 app.config 将程序集 "office, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 从版本“12.0.0.0”[C:\Windows\assembly\GAC\office.0.0.0__71e9bce111e9429c\office.dll] 重新映射到版本“14.0.0.0”[ D:\Visual Studio\Visual Studio Tools for Office\PIA\Office14\office.dll] 解决冲突并消除警告。

所以我终于解决了这个问题。 首先,我想我会描述一下这个项目的外观。在引用下没有对 office.dll 文件的引用,尽管当能够发布工作副本的 computer1 发布项目时,这实际上最终出现在发布的目录中。同样在 properties->publish->ApplicationFiles 下,office.dll 被列为排除项。

无法发布工作项目的计算机 2 与计算机 1 安装了相同的程序。所以我尝试添加对 office.ddl 的引用,将其设置为复制本地并将其包含在应用程序文件中。现在有一个 office.dll 复制到发布的目录,但出现同样的错误。安装并重新安装了一堆程序,没有改善。在我尝试了很多 randomstuff 之后,我最终从 computer1 复制了 dll,引用了它,将其设置为复制本地并将其包含在内。而且,瞧,它有效吗?