无法加载文件或程序集'office,Version = 12.0.0.0,Culture = neutral

时间:2017-03-24 06:41:10

标签: c# asp.net .net

我想从Word文件中读取文本。它在localhost上正常工作,但是当我在线运行它时,我得到了这个错误:

  

无法加载文件或程序集'office,Version = 12.0.0.0,   Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其中一个   依赖。系统找不到指定的文件。

我的代码:

Application Objword = new Application();
Document objdoc = new Document();
dynamic FilePath = fileLoc;
dynamic NA = System.Type.Missing;
objdoc = Objword.Documents.Open(ref FilePath, ref NA, ref NA, ref NA, ref NA,ref NA, ref NA, ref NA, ref NA,
        ref NA, ref NA, ref NA, ref NA,ref NA, ref NA, ref NA);
StringBuilder sb = new StringBuilder();
for (int Line = 0; Line < objdoc.Paragraphs.Count; Line++)
{
    string Filedata = objdoc.Paragraphs[Line + 1].Range.Text.Trim();

    if (Filedata != string.Empty)
    {
        //Append word files data to stringbuilder
        sb.AppendLine(Filedata);
    }
}
((_Document)objdoc).Close();
((_Application)Objword).Quit();
TextBox1.Text = Convert.ToString(sb);

我还将dll文件放在bin文件夹中,版本相同但仍然出错。

1 个答案:

答案 0 :(得分:0)

在服务器上运行办公室似乎是一个非常奇怪的问题。建议您需要在服务器上安装与开发计算机中相同版本的office。因为除了interop dll之外,你还需要的不仅仅是DLL。

此外,逐步执行代码并检查它失败的位置,可能是,interop在代码中的某处返回错误并返回另一个错误。

例如,如果错误消息在第一行,那么它与DLL文件有关,但是,如果它在某处失败,那么该调用将给出错误而不是DLL的实际加载。 / p>