Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序要求在GAC中安装assembly office版本12.0.0.0_C#_Publish_Gac - Fatal编程技术网

C# 应用程序要求在GAC中安装assembly office版本12.0.0.0

C# 应用程序要求在GAC中安装assembly office版本12.0.0.0,c#,publish,gac,C#,Publish,Gac,我有一个.csproj要发布到clickonce服务器。 当我从一台开发计算机发布应用程序时,它可以工作,并且程序可以从服务器启动,没有任何问题 我将同一个项目从svn下载到另一台计算机上,并尝试发布它。我想这一步是可行的,因为程序发布成功,没有任何错误 但是,当我尝试从服务器启动程序时,会出现以下错误: 应用程序要求首先在全局程序集缓存(GAC)中安装assembly office版本12.0.0.0 更新:(也在评论中发布信息)。我在两台机器上都收到了此警告,但我不知道如何解决。但我想这可能

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

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

但是,当我尝试从服务器启动程序时,会出现以下错误: 应用程序要求首先在全局程序集缓存(GAC)中安装assembly office版本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 >考虑从“120.0.0”版本[C:\Windows \\\\\\Windows \\\\\\\0.0.07.71E9BCE111E949C\Office,DLL]到“140.0.0”版本[D:\VisualStudio\VisualStudioToosOffice \ PIA\Office 14\Office .DLL ]的App.CONFIG重新映射组件“Office,CuleNoKeNosik= 71E9BCE111E9499C”。解决冲突并消除警告。

所以我最终解决了这个问题。 首先我想我应该描述一下这个项目的样子。在“引用”下,没有对office.dll文件的引用,尽管当能够发布工作副本的computer1发布该项目时,该文件实际上被保存在已发布的目录中。此外,在属性->发布->应用程序文件下,office.dll被列为排除


无法发布工作项目的computer2安装了与computer1相同的程序。因此,我尝试添加对office.ddl的引用,将其设置为“复制本地”,并将其包含在ApplicationFile中。现在有一个office.dll复制到发布的目录,但出现了相同的错误。安装和重新安装了一堆程序,没有改进。在我尝试了很多随机的东西之后,我最终从computer1复制了dll,引用了它,将它设置为copy local并包含了它。瞧,它成功了?

这就是互操作的工作原理:您需要在服务器上安装Office。您不应该看到:“Microsoft不推荐或支持Office的服务器端自动化”。但是当一台计算机将应用程序发布到服务器时,它可以工作,但当另一台计算机发布时,它就不能工作。这难道不意味着发布有问题的计算机上存在错误或未安装的内容,而服务器不正确吗?考虑到他们正在发布同一个项目。发布过程不安装Office suite。你需要在每台你想让你的应用程序工作的机器上安装微软office。这就是CodeCaster所说的,“考虑到他们发布的是同一个项目”——我不相信。我认为发布后未给出错误的程序集具有不同的程序集副本设置。您可以通过比较已发布的目录来验证这一点。如果它们真的是一样的,还有一些事情你没有告诉我们。我可以承认我在这个问题上不是专家,所以可能有一些重要的细节我没有提到,但我不知道可能是什么。什么信息是相关的?那么,“已发布目录”是指服务器上的文件?我会比较这些。。。