无法加载文件或程序集'Microsoft.Office.Interop.Word,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 7

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法加载文件或程序集'Microsoft.Office.Interop.Word,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 7相关的知识,希望对你有一定的参考价值。

我正在尝试将docx文件转换为pdf,我已经成功地在我的本地电脑上转换pdf。

我在visual studio 2010遵循的步骤是

click on Add reference --> Click to COM -->select "Microsoft Word 12.0 Object Library" and cliked ok

我的Web配置被修改并添加了程序集

<add assembly="Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/>

用于将doc转换为pdf的.cs代码是

using Microsoft.Office.Interop.Word;//Name Space


protected void Page_Load(object sender, EventArgs e)//Coading on page load
{

    Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
    wordDocument = appWord.Documents.Open(Server.MapPath("~/convert/goodquest.docx"));
    wordDocument.ExportAsFixedFormat(Server.MapPath("~/convert/goodquest.pdf"), WdExportFormat.wdExportFormatPDF);
}

public Microsoft.Office.Interop.Word.Document wordDocument { get; set; }

所有works fine in local,但当我upload所有这一切在web

错误如

Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.

正在出现。我该如何解决这个问题

我还尝试从链接Here下载“Microsoft Office 2010:Primary Interop Assemblies Redistributable”,但是当我按照之前告诉过你的步骤时,它将我的“Version = 12.0.0.0”转换为“Version = 14.0.0.0”点击添加参考 - >点击COM ........“

答案

Microsoft.Office.Interop.Word.dll复制粘贴到服务器中的bin文件夹中。

可以在此路径中添加它

%ProgramFiles%Microsoft Visual Studio 12.0Visual Studio Tools for OfficePIA但我不知道是否正确:更多细节请看这个MSDN链接

否则,你可以下载这个DLL:https://stackoverflow.com/a/6309218/2218635

另一答案

您是否已将DLL(Microsoft.Office.Interop.Word)复制到可执行路径?

您必须将此DLL复制到本地路径,否则必须在此服务器上安装Microsoft Office。

查看错误似乎应用程序无法在指定路径中找到该文件。

默认情况下,应用程序会首先将DLL找到GAC,然后再找到本地路径。可能还有其他原因,例如版本不同,在这种情况下你也会得到类似的错误。

另一答案

你错过了戴尔版本。

请下载正确版本的DLL。

另一答案

在C#Projects中使用Word的正确过程是:

  1. 添加对Word Interop Library(Assembly)的引用
  2. using部分添加Excel
  3. 现在在编码中使用它。


如果您的PC中安装了Office(Word),则第一步将起作用。如果没有那么安装。然后添加对所需版本的Microsoft.Office.Interop.Word的引用。

一个。如果列表没有显示所需的版本,那么您可能有另一个Office安装Word的愿景。通过The Way,你可以使用任何。

湾如果您没有找到像Microsoft.Office.Interop这样的东西,那么可能没有安装办公室,或者您有Office 2013或更高版本。对于更高版本,您可以通过进入添加引用窗口的COM选项卡添加组件并添加Microsoft Word {version-no} Object Library。这将添加相同。

C。如果你已经在带有黄色三角标记的参考文献中有Microsoft.Office.Interop...那么首先将其删除。



之后第二步将完全奏效:using Word=Microsoft.Office.Interop.Word;



最后,作为第三步,您可以通过Word.Application wApp = new Word.Application();创建Word对象。

以上是关于无法加载文件或程序集'Microsoft.Office.Interop.Word,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 7的主要内容,如果未能解决你的问题,请参考以下文章

Azure devops 中的 Docker 构建失败并显示消息无法加载文件或程序集“Microsoft.CodeAnalysis,

无法加载文件或程序集 Microsoft.CodeAnalysis

无法加载文件或程序集“Microsoft.ReportViewer.WebForms”

无法加载文件或程序集“Microsoft.Windows.Design.Host,

无法加载文件或程序集 Microsoft.Build.Utilities.Core

无法加载文件或程序集“Microsoft.SqlServer.BatchParserClien.dll 文件名