C# “类型初始值设定项异常”;RPC服务器不可用";

C# “类型初始值设定项异常”;RPC服务器不可用";,c#,.net,.net-3.5,C#,.net,.net 3.5,我们的一个环境中有一个异常错误。应用程序是.NET3.5,在某个特定的点上会返回此错误 “Documents.Document”的类型初始值设定项引发错误 例外。RPC服务器不可用 导致此问题的代码是此行 Document.ToString(DocumentFileContentsType.BinBase64) 它调用的引发异常的方法是: public static string ToString(DocumentFileContentsType fileContentsType) {

我们的一个环境中有一个异常错误。应用程序是.NET3.5,在某个特定的点上会返回此错误

“Documents.Document”的类型初始值设定项引发错误 例外。RPC服务器不可用

导致此问题的代码是此行

Document.ToString(DocumentFileContentsType.BinBase64)
它调用的引发异常的方法是:

public static string ToString(DocumentFileContentsType fileContentsType)
    {
        string fileContentsTypeText = null;

        switch (fileContentsType)
        {
            case DocumentFileContentsType.BinBase64:
                fileContentsTypeText = "BIN.BASE64";
                break;
            case DocumentFileContentsType.BinHex:
                fileContentsTypeText = "BIN.HEX";
                break;
            case DocumentFileContentsType.Gemini:
                fileContentsTypeText = "GEMINI";
                break;
            case DocumentFileContentsType.DmsGemini:
                fileContentsTypeText = "GEMINI.BIN.BASE64";
                break;
            case DocumentFileContentsType.Cmis:
                fileContentsTypeText = "CMIS";
                break;
            default:
                throw new ArgumentException("Invalid FILECONTENTS_TYPE: " + fileContentsType.ToString() + ".", "fileContentsType");
        }

        return fileContentsTypeText;
    }
因此,我看不到任何网络通信、进程间调用或任何事情


有什么想法吗?

Documents.Document的静态构造函数失败,因为它无法加载/调用依赖项(可能是COM组件,也可能是进程外服务器)。跨进程调用是通过RPC的本地变体进行的,这就是为什么会收到错误消息。您可以尝试使用ILSpy来查看静态构造函数正在做什么。啊,是的,这听起来很合理。有很多依赖项,所以我必须进一步调查,你有Word作为依赖项吗?没有,没有Word,但我们有一个组件,可以将rtf文档转换为pdf,这可能是
文档的静态构造函数的罪魁祸首。文档
失败,因为它无法加载/调用依赖项(可能是COM组件,也可能是进程外服务器)。跨进程调用是通过RPC的本地变体进行的,这就是为什么您会收到错误消息。您可以尝试使用ILSpy查看静态构造函数正在执行的操作。啊,是的,这听起来很合理。存在大量依赖项,因此我将不得不进一步调查您是否将Word作为依赖项?不,不是Word,但我们有一个组件将rtf文档转换为pdf的ent可能是罪魁祸首