1.word Document Close 二义性问题解决
在使用C#显示word文档的时候,出现以下警告:
方法Microsoft.office.Interop.Word._Document.Close(ref object,ref object,ref object)”和非方法Microsoft.office.Interop.Word.DocumentEvents2_Event.Close"之间存在二义性。将使用方法组。
部分代码:
Word._Application app = new Word.Application();//可以打开word
Word._Document doc = null; //需要记录打开的word
.
.
if (doc != null)
{
doc.Close(ref missing, ref missing, ref missing);
doc = null;
}
if (app != null)
{
app.Quit(ref missing, ref missing, ref missing);
app = null;
}
解决方法:
/* 会发生二义性问题
Word.Application app = new Word.Application(); //可以打开word
Word.Document doc = null; //需要记录打开的word
*/
//修改后
Word._Application app = new Word.Application();//可以打开word
Word._Document doc = null; //需要记录打开的word
2.修改程序集的“嵌入互操作类型”属性警告处理
同样是因为调用word文档,引用了Microsoft.Office.Interop.Word,出现了下面的警告:
由于程序集“c:\Windows\assembly\GAC\Microsoft.Office.Interop.Word\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll”创建了对嵌入互操作程序集“c:\Windows\assembly\GAC\office\12.0.0.0__71e9bce111e9429c\OFFICE.DLL”的间接引用,因此创建了对该程序集的引用。请考虑更改其中一个程序集的“嵌入互操作类型”属性。
解决方法:
将引用的 Microsoft.Office.Interop.Word 属性中“嵌入互操作类型”改为“true”。