1

我正在编写一个小应用程序来测试 OpenNETCF 库加载并偶然发现了这个奇怪的消息

Unable to load DLL 'coredll.dll' : the specified module could not be found

我在 Windows Embedded 7 Compact 瘦客户端上使用 Compact Framework 3.5。

代码是

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using OpenNETCF.Threading;

namespace Windows7EmbeddedTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            MessageBox.Show("Starting the test");

            bool notRunning;
            NamedMutex mutex = new NamedMutex(false, "myappname", out notRunning);


            MessageBox.Show("test went well!");

        }    
    }
}

有什么想法可以解决这个问题吗?我在我的 Windows Embedded Compact 7 瘦客户端中搜索 coredll.dll,但什么也没找到。我的理解是它是 Windows CE 设备的一个组成部分。那么为什么 OpenNETCF 在 Windows Embedded Compact 7 机器上找不到呢?我需要手动下载/安装这个 dll 吗?注册吗?如果 Windows Embedded Compact 7 附带它,那么寻找它的途径是什么?

4

1 回答 1

1

您是否绝对肯定您的瘦客户端设备运行的是 Windows Embedded Compact (Windows CE) 而不是 Windows Embedded Standard (WES)?

我问的原因是因为 coredll.dll 是 Windows CE 操作系统的一个基本部分。它类似于桌面的 kernel32.dll 和 user32.dll(以及其他几个),它们都封装成一个。不可能有一个不包含 coredll.dll 的 Windows CE 操作系统。

通常它是一个隐藏文件,因此它不会显示在资源管理器中,除非您“显示隐藏文件”或使用远程文件查看器之类的东西,但 .NET 加载程序找不到它的事实让我怀疑它不存在,这反过来让我相信你在运行 WES 而不是 CE。

于 2012-08-29T21:43:41.037 回答