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# Microsoft.Office.Interop.Word程序集版本高于引用的版本_C#_Office Interop - Fatal编程技术网

C# Microsoft.Office.Interop.Word程序集版本高于引用的版本

C# Microsoft.Office.Interop.Word程序集版本高于引用的版本,c#,office-interop,C#,Office Interop,以下错误的原因是什么: 错误12程序集'Microsoft.Office.Interop.Word,版本=14.0.0.0, 文化=中立,PublicKeyToken=71e9bce111e9429c“使用”办公室, 版本=14.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c' 其版本高于引用程序集的office, 版本=12.0.0.0,区域性=中性, PublicKeyToken=71e9bce111e9429c'c:\Program Files\M

以下错误的原因是什么:

错误12程序集'Microsoft.Office.Interop.Word,版本=14.0.0.0, 文化=中立,PublicKeyToken=71e9bce111e9429c“使用”办公室, 版本=14.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c' 其版本高于引用程序集的office, 版本=12.0.0.0,区域性=中性, PublicKeyToken=71e9bce111e9429c'c:\Program Files\Microsoft Visual Studio 10.0\Visual Studio工具 Office\PIA\Office14\Microsoft.Office.Interop.Word.dll Windows窗体应用程序1

我的代码:

使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
运用系统反思;
使用系统文本;
使用System.Windows.Forms;
使用Microsoft.Office.Interop.Word;
使用Application=Microsoft.Office.Interop.Word.Application;
使用DataTable=System.Data.DataTable;
使用Document=Microsoft.Office.Interop.Word.Document;
使用微软办公软件;
命名空间Windows窗体应用程序1
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
私有void Form1\u加载(对象发送方、事件参数e)
{
var wordApp=新应用程序{Visible=false};
object objMissing=缺少.Value;
Document wordDoc=wordApp.Documents.Add(ref objMissing,ref objMissing,ref objMissing,ref objMissing,ref objMissing,ref objMissing);
wordApp.ActiveWindow.ActivePane.View.SeekView=WdSeekView.wdSeekCurrentPageFooter;
wordApp.Selection.typeparagration();
字符串docNumber=“1”;
字符串revisionNumber=“0”;
wordApp.Selection.parations.Alignment=WdParagraphAlignment.wdalignparaphleft;
wordApp.ActiveWindow.Selection.Font.Name=“Arial”;
wordApp.ActiveWindow.Selection.Font.Size=8;
wordApp.ActiveWindow.Selection.TypeText(“文档号:”+docNumber+“-Revision号:”+revisionNumber);
wordApp.ActiveWindow.Selection.TypeText(“\t”);
wordApp.ActiveWindow.Selection.TypeText(“\t”);
wordApp.ActiveWindow.Selection.TypeText(“页面”);
对象CurrentPage=WdFieldType.wdFieldPage;
添加(wordApp.Selection.Range,ref CurrentPage,ref objMissing,ref objMissing);
wordApp.ActiveWindow.Selection.TypeText(“of”);
对象TotalPages=WdFieldType.wdFieldNumPages;
添加(wordApp.Selection.Range,ref TotalPages,ref objMissing,ref objMissing);
wordApp.ActiveWindow.ActivePane.View.SeekView=WdSeekView.wdseekIndocument;
object c=“d:\\1.doc”;
wordDoc.parations.linespace=8;
段落wp=文字文档段落添加(参考objMissing);
wp.Range.Text+=richTextBox1.Text;
wordDoc.SaveAs(参考c,参考OBJMmissing,参考OBJMmissing,参考OBJMmissing,参考OBJMmissing,参考OBJMmissing,
参考objMissing
,ref objMissing,ref objMissing,ref objMissing,ref objMissing,ref objMissing,
ref objMissing,ref objMissing
,ref objMissing,ref objMissing);
(wordDoc).关闭(ref objMissing,ref objMissing,ref objMissing);
退出(ref objMissing,ref objMissing,ref objMissing);
}
}
}

您的代码似乎引用了Office的一个版本,但正在尝试使用另一个版本。这是一个很常见的问题,因为有很多不同版本的Office正在使用

当我不得不使用officeinterop时,我通过使用
后期绑定
而不是
早期绑定
来避免这个问题。这意味着我不添加对特定版本Office的引用,只要我不使用仅存在于某些版本中的函数或类似函数,我的代码将与任何最新版本一起工作

本文包括一些基本教程,向您展示后期绑定和早期绑定的区别:


我还建议您阅读本文以了解更多背景信息:

我也遇到了同样的问题,从添加引用.Net选项卡,您可以添加Microsoft.Office.Interop.Word版本=12.0.0.0,而不是Microsoft.Office.Interop.Word,版本=14.0.0.0。在此之前,请记住从引用中删除版本14。这解决了我的问题

我在将项目从VS2005升级到VS2010时遇到了这个问题。我想如果有更新的版本,VisualStudio会自动升级dll

我卸载并删除了.dll,然后再次添加,但找到了正确的版本(在本例中为
12.0.0.0
),问题就解决了。从Bin目录中删除应该可以工作,但如果不行,则在项目中搜索dll或引用名称,可能在
web.config
中搜索并删除,它应该会自动更新

顺便说一句,起初我只取消了对
Office.Interop
dll文件的引用,但在它不断失败后,我删除了一个名为
Office.dll
的dll,然后再次添加,它成功了。我也得找


祝大家好运。

只需删除更高版本的互操作参考并添加用于工作的版本,就可以了

+1有一个问题:在我的Windows 7(x86)系统上,我看到一个名为
C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14
的文件夹,它有几个对应于Office应用程序(Word、Excel等)的DLL。这些是随VisualStudio提供的还是随Office提供的?我的问题的原因是:即使没有安装Office,这些DLL也代表了针对Office编程的能力,因此它们将代表相当重要的功能。谢谢。@Sabuncu据我所知,现在的Visual Studio Pro和更高版本附带了Office工具,路径似乎表明它们是与VS一起提供的。不过要小心