Невозможно загрузить DLL 'coredll.dll': указанный модуль не найден

Я пишу небольшое приложение для тестирования загрузки библиотеки OpenNETCF и наткнулся на это любопытное сообщение.

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

Я использую Compact Framework 3.5 на тонком клиенте Windows Embedded 7 Compact.

Код

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, по какому пути его искать?


person sarsnake    schedule 29.08.2012    source источник


Ответы (1)


Вы абсолютно уверены, что ваше тонкое клиентское устройство работает под управлением Windows Embedded Compact (Windows CE), а не Windows Embedded Standard (WES)?

Причина, по которой я спрашиваю, заключается в том, что coredll.dll является фундаментальной частью ОС Windows CE. Это аналог настольных kernel32.dll и user32.dll (плюс несколько других), объединенных в одно целое. Невозможно иметь ОС Windows CE без coredll.dll.

Обычно это скрытый файл, поэтому он не отображается в проводнике, если вы не «показываете скрытые файлы» или не используете что-то вроде Remote File Viewer, но тот факт, что загрузчик .NET не может его найти, заставляет меня подозревать, что его там нет, что в свою очередь заставляет меня поверить, что вы используете WES, а не CE.

person ctacke    schedule 29.08.2012
comment
Ага! вот что это было. благодаря. Чтобы прояснить: Windows Embedded Compact - это следующее поколение Windows CE, верно? Что же тогда такое WES? другое ответвление? - person sarsnake; 30.08.2012
comment
Windows Embedded Compact - это новое имя, которое Microsoft Marketing дала Windows CE 7.0. Windows Embedded Standard - это, по сути, Windows 7, только в разбитой на компоненты форме. Предыдущая версия называлась Windows XP Embedded или XPe. Не знаю, как они назовут следующую версию. - person ctacke; 30.08.2012
comment
@ctacke - Я столкнулся с аналогичной проблемой, но не могу ее решить, пожалуйста, помогите. - person RSB; 27.09.2016