2017-01-11 15 views
0

Я разрабатываю приложение .NET CF 3.5 на WinCE6, которое построит exe некоторые DLL. Я определил примерный класс, как это в проекте библиотеки классов:System.MissingMethodException

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."} 

Запустив в отладке и установив точку останова в runTest() я могу видеть, что метод не является ни вошло ... Кроме того, если я ставлю некоторые дополнительные простой код перед созданием исключения, метод никогда не вводится и генерируется исключение.

Однако если взять класс Test и поместить его непосредственно в главном проекте (так, что он будет построен внутри ехе) все работает отлично ...

Кто-нибудь есть какие-либо идеи о том, что происходит?

+1

Просто догадаться, но я вижу версию 2.0 в сообщении, возможно, на вашем устройстве установлена ​​версия .NET CF версии 2.0 вместо v 3.5? –

+0

, если я запустил cgacutil.exe на устройстве, он показывает установленную компактную структуру 3.5 – salvolds

+0

@Valter: но вы правы, это проблема с версией: protejct библиотеки классов 3.5 ссылался на System assembly 2.0, в то время как exe ссылался на правильную сборку системы 3.5. Просто заменил ссылку, и все работает отлично – salvolds

ответ

1

Проект библиотеки классов ссылается на Системный компонент версии 2.0, в то время как установленная компактная структура составляет 3,5.

Во время развертывания системный компонент 2.0 был развернут, но CF 3.5 не смог его загрузить. Исправлена ​​ссылка на System version 3.5 в проекте библиотеки, все работало нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^