Windows Mobile DLL для стандартных .NET проектов - PullRequest
0 голосов
/ 26 января 2009

Быстрый вопрос (надеюсь), как включить библиотеку классов Windows 6 в стандартный сетевой проект? Кажется, я могу просто добавить ссылку через VS в более ранние выпуски проектов Windows Mobile, но не в версии 6. Из того, что я прочитал, это будет возможно, если не используются библиотеки, специфичные для CE.

Любая помощь приветствуется.

Спасибо, Крис.

Edit:

Не то, что я нашел, я сделал следующее:

1) Создание новой библиотеки классов Windows Mobile 6 (CF .NET dll)

2) Создание новой стандартной библиотеки классов (Standard .NET dll)

3) Попробуйте включить мобильный 6 lib в стандартный

Здесь я получаю:

«Невозможно добавить ссылку на».

Ответы [ 3 ]

1 голос
/ 26 января 2009

Я нашел ответ на свой вопрос здесь:

http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/thread/c0cae024-a9a2-43bd-9d37-69bc9a9338c7/

Оказывается, в проектах VB.NET возникают проблемы со ссылками на проекты CF, созданные в VB.NET Все хорошо, весело.

1 голос
/ 26 января 2009

Если это CF .NET dll, вы можете добавить его в качестве ссылки (независимо от того, какая версия). Если это библиотека нативного кода, вы не можете. Вам нужно создать оболочку .NET вокруг этой dll (используя P / Invoke) и добавить эту dll в свой проект. Вы должны позаботиться о том, чтобы родная dll присутствовала во время выполнения.

0 голосов
/ 26 января 2009

Из моего опыта вы просто не можете , что действительно отстой !!! Так много для компиляции, беги везде.

В любом случае, одно решение, которое я нашел:

  1. Кодируйте ваш проект в библиотеке классов CF или в библиотеке Win32, не важно, какая (Project1).
  2. Добавить новый проект другого типа (Project2).
  3. Дублируйте структуру папок в Project2 так, чтобы она отражала Project1.
  4. Щелкните правой кнопкой мыши Project2 и выберите Добавить -> Существующий элемент ...
  5. Перейдите в папку Project1 и выберите все интересующие вас файлы (не забудьте выборочно избегать файлов .designer.cs, например, .designer.cs для .resx).
  6. Справа от кнопки Добавить (Добавить | V ) вы увидите стрелку, указывающую вниз, щелкните ее.
  7. Добавить как ссылку.
  8. Повторите один и тот же процесс для всех папок в Project2.

Дело в том, что, хотя у вас теперь есть две сборки, любые изменения в файле cs отражаются во всех них. Вот как XNA GameStudio работает, и как я боролся с CF для телефонов в прошлом.

Как только вы сделали начальный «порт», дела идут довольно быстро. Проект CF должен иметь символ отладки (POCKETPC или SMARTPHONE IIRC), но я рекомендую добавить MOBILE, чтобы можно было обмениваться кодом CF между проектами PocketPC и SmartPhone.

Я думаю о написании инструмента для отражения проектов, если вы заинтересованы, скажите об этом в комментарии, и я найду время для этого (сейчас я не работаю над какими-либо вещами CF).

Также должна быть возможность автоматизировать это с помощью задачи MSBUILD. Но, к сожалению, генерируя файл csproj во время сборки, можно потерять intellisense во время кода.

...