System.MissingMethodException

System.MissingMethodException

我正在 WinCE6 上开发一个 .NET CF 3.5 应用程序,它将构建一个 exe 和一些 dll。我在 class 库项目中定义了一个这样的示例 class:

using System.ComponentModel;
using System;

namespace Utils
{
    public static class Test
    {
        public static void runTest()
        {
            Exception e = new Win32Exception(0, "CreateToolhelp32Snapshot error.");
        }
    }

}

我将从我的主要可执行项目中调用 runTest() 方法。编译时一切都很好。但是在 运行 时间尝试调用 runTest() 时抛出以下异常:

System.MissingMethodException

{"The version of the assembly System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089 cannot be loaded by this version of the Microsoft .NET Compact Framework."}

通过在调试中 运行ning 并在 runTest() 中设置断点,我可以看到既没有输入该方法...另外,如果我在创建异常之前放置一些额外的纯代码,该方法永远不会输入并抛出异常。

但是,如果我参加测试 class 并将其直接放在主项目中(这样它将在 exe 中构建)一切正常...

有人知道发生了什么事吗?

class 库项目引用系统组件版本 2.0,而安装的紧凑框架是 3.5。

在部署时部署了系统组件 2.0,但 CF 3.5 无法加载它。 修复了库项目中对系统版本 3.5 的引用,一切正常。