首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MS office互操作在.NET 6中似乎不起作用。无法打开文档。

MS office互操作在.NET 6中似乎不起作用。无法打开文档。
EN

Stack Overflow用户
提问于 2022-11-26 14:06:46
回答 2查看 57关注 0票数 2

很难打开C#应用程序.NET 6中的Office文件。 Note使用.NET框架可以很好地工作。

官方的nuget软件包Microsoft.Office.Interop.Word似乎只支持Office 2016。添加Microsoft 16.0对象库COM引用似乎也不添加支持。

代码语言:javascript
运行
复制
using Microsoft.Office.Interop.Word;

private void button2_Click(object sender, EventArgs e)
{
    var ap = new Microsoft.Office.Interop.Word.Application();
    Document document = ap.Documents.Open(@"C:\Users\name\Desktop\test.docx");
    ap.Visible = true;
}

单击此按钮时,将引发以下异常:

System.IO.FileNotFoundException:“无法加载文件或程序集”office,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c‘。系统找不到指定的文件。

是否真的不支持目前的365版本?

我已经证实我有Microsoft.Office.Interop.Word in C:\Windows\assembly\GAC_MSIL.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-26 17:15:11

我找到了解决办法。

搜索COM引用时,对object的搜索只会显示MicrosoftOffice16.0对象库作为远程合适的搜索结果。

这是,而不是,是您需要的引用。

相反,为您需要交互的每个office应用程序搜索,Microsoft Word 16.0 Object Library', substituting word`。

票数 1
EN

Stack Overflow用户

发布于 2022-11-26 22:20:23

官方的nuget软件包Microsoft.Office.Interop.Word似乎支持

微软没有官方的nuget软件包。当您从Microsoft站点下载安装程序或在基于.net的项目中添加COM引用时,可以单独安装互操作程序。

System.IO.FileNotFoundException:“无法加载文件或程序集”office,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c‘。系统找不到指定的文件。

异常状态,即所需程序集(interop)程序集不存在。当您自动化Office应用程序时,通常至少必须引用两个互操作程序集:

  • Office.dll用于常见的MS Office types.
  • Application-specific互操作程序集,在您的示例中是Microsoft.Office.Interop.Word.dll

尝试创建一个新的.net框架应用程序,并使用VS中的Add References对话框向项目添加一个COM引用。然后,您可能会在项目中找到引用的这些程序集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74582852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档