应用程序要求在GAC中安装组装办公室版本12.0.0.0

时间:2015-01-09 11:05:14

标签: c# publish gac

我有一个.csproj,我想发布到clickonce服务器。 当我从一台开发计算机发布应用程序时,它可以工作,程序可以从服务器启动而没有任何问题。

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

但是当我尝试从服务器启动程序时,我收到错误: 应用程序要求首先在全局程序集缓存(GAC)中安装程序集版本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 GT;考虑从版本“12.0.0.0”[C:\ Windows \ assembly \ GAC \ office \ 12.0.0.0_71e9bce111e9429c \ office.dll]到版本“14.0”的程序集“office,Culture = neutral,PublicKeyToken = 71e9bce111e9429c”的app.config重新映射.0.0“[D:\ Visual Studio \ Visual Studio Tools for Office \ PIA \ Office14 \ office.dll]解决冲突并摆脱警告。

1 个答案:

答案 0 :(得分:2)

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

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