Общий исходный код C# для Windows и Windows Mobile

Вы храните его на диске? Это сработало в моем тестере.

use Storage; 

$url = "http://www.google.co.in/intl/en_com/images/srpr/logo1w.png";

 $contents = file_get_contents($url); $name = substr($url, strrpos($url, '/') + 1); 
Storage::put($name, $contents);
6
задан Ignas Limanauskas 2 December 2008 в 04:56
поделиться

5 ответов

  1. CF содержит подмножество полной платформы (FFx), но это не чистое подмножество. Существует на самом деле несколько вещей, доступных в CF, которые не находятся в FFx, который делает это немного более трудным. Приложения CF также, кроме самых элементарных случаев, используют P/Invoke. Те вызовы никогда не являются тем же с рабочего стола на устройство, таким образом, они не являются непосредственно портативными (хотя с небольшой абстракцией у Вас может быть агностический платформой интерфейс).
  2. По большей части поведение является тем же. Я видел некоторые случаи, где это не, и я вспоминаю некоторое упорядочивание события не всегда быть идентичным хотя, так доверяйте, но проверьте.
  3. Это возможно посредством очень тщательного массирования конфигураций, но я, конечно, не рекомендую это. Трудно поддержать и очень хрупкий. Вместо этого имейте два файла проекта, один для CF и один для FFx. У Вас, вероятно, будут различия в файле кода так или иначе. Добавьте файлы кода как ссылки на каждый проект, таким образом, они оба используют тот же физический исходный файл. Я рекомендовал бы использовать некоторую форму CI, чтобы помочь гарантировать им обоим сборку в любом случае.
  4. Смотрите на статью MSDN Dan Moth и записи в блоге при совместном использовании активов кода.
10
ответ дан 8 December 2019 в 05:58
поделиться

P.S. Я нашел плакат онлайн - он покажет Вам все классы, которые являются CF. Я заказал ему fro Microsoft, потому что Kinkos хотел, чтобы 65$ распечатали его в цвете для меня! Microsoft отправила мне несколько бесплатных копий - все, что я должен был сделать, был, спросите:

http://www.microsoft.com/downloads/details.aspx?familyid=7B645F3A-6D22-4548-A0D8-C2A27E1917F8&displaylang=en

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

6
ответ дан 8 December 2019 в 05:58
поделиться

Хороший многослойный вопрос:

  1. Различия между полной платформой и компактной платформой
  2. Статья выше имеет ссылки на соответствующую документацию о том, как поведение класса отличается (это определенно отличается по некоторым ситуациям),
  3. Очень простой! Создайте единое решение с рядом базовой функциональности в Библиотеке классов, затем создайте два клиентских проекта (один для Вашего настольного приложения и один для приложения Windows Mobile). Наконец, добавьте ссылки на библиотеку классов к обоим клиентским проектам.
  4. В зависимости от ширины проекта Вы продолжаете работать, можно хотеть проверить Образцовый шаблон Контроллера Представления. Это может быть слишком для Вашего проекта, но если Вы хотите совместно использовать поведение UI между проектами, это может быть жизненное средство сохранения.

Надежда, которая помогает!

3
ответ дан 8 December 2019 в 05:58
поделиться

CF, в целом содержит подмножество классов от регулярной платформы - но Вы не можете непосредственно выполнить код от одного на t'other. Кроме того, вместо того, чтобы просто быть подмножеством, существует, вероятно, несколько вещей в компактных, которые не находятся в регулярной версии, такой как вещи GUI, специфичные для мобильных устройств (программируемые клавиши, и т.д.) - предположение, что Вы пишете winform exe и не веб-страницу (который мог бы быть самым простым способом получить совместимость).

С некоторым усилием, это это возможный совместно использовать логический код, в особенности утилита dlls - но им нужны различные csproj файлы (так как у них есть совершенно другое время компиляции "цели"). Для сокращения обслуживания можно часто обманывать путем взламывания csproj для использования подстановочных знаков, как отсюда:

<ItemGroup>
  <Compile Include="..\protobuf-net\**\*.cs" />
</ItemGroup>

Для UI вещи получают много tricker. В целом ожидание состояло бы в том, чтобы совместно использовать бизнес-логику и отдельный UI для различных целевых устройств.

2
ответ дан 8 December 2019 в 05:58
поделиться

1). Существует Компактная Платформа так да; И это - подмножество полной платформы.NET. У меня есть плакат на моей стене в офисе, который обозначает целый набор классов та работа в CF... Я не вспоминаю первое, что пришло на ум, если существует кто-либо, которые являются просто CF, но я предполагаю, что должны быть некоторые. Существует несколько хороших книг по предмету - один Paul Yao, которого я имею и другой Andy Wigley - оба доступны на Amazon.

2). Насколько я знаю, классы, которые являются CF и полной работой платформы то же, но должны быть скомпилированы для различных целей.

3). Я рисковал бы предположением, что, если Вы только используете классы, которые характерны для обоих, что Вы могли использовать то же решение, я не знаю степени, которую необходимо было бы пойти, чтобы заставить его скомпилировать для компактного устройства и полной версии, хотя, и при этом я не могу сказать с полной уверенностью, что оно может быть сделано. Я рисковал бы предположением, что процесс не прост.

4). Перейдите к своему локальному книжному магазину и имейте щелчок через те две книги, которые я упомянул. Как я сказал, у меня есть тот Paul Yao, и это, кажется, покрывает большую часть того, в чем я мог предположить нуждаться на компактном устройстве.

1
ответ дан 8 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: