locked
Кроссплатформенная разработка приложения для Windows 8 и winforms RRS feed

  • Вопрос

  • Добрый день,

    возникла необходимость написать базовый класс для нескольких типов приложения, одно из которых windows store app, другие могут быть различные: winforms, wcf и тд. Библиотеки WinRT (windows store app class library) не могут быть добавлены в качестве reference для проектов не WinRT, и наооборот.

    Решением могло быть использование Portable library, но базовый класс должен содержать классы и аттрибуты, которые не могут быть добавлены в Portable library(базовый класс должен использоваться Unity контейнер(не дает добавить), и еще несколько аттрибутов(в том числе xml аттрибуты), которые также не добавляются.

    Не хотелось бы поддерживать 2 версии кода (или какие-то не красивые подходы, типа двух проектов с ссылками на код из одного источника) и тп.

    Буду рад любой помощи, заранее спасибо.

    PS вместе с тем я могу добавить, одну и туже библиотеку (Microsoft.Practices.Unity) в ссылке в два проекта(один WinRT class library, второй просто Class library), где я не прав?

    PSS ссылку на библиотеку Unity в PortableLibrary добавить можно(напрямую указать путь), но при компиляции будет ошибка:

    The type or namespace name 'Microsoft' could not be found (are you missing a using directive or an assembly reference?), хотя интелесенс ее видит


    • Изменено Denis99 31 октября 2012 г. 14:21
    31 октября 2012 г. 14:02

Ответы

  • Unity не компилируется скорей всего из-за отсутсвия какой-то сборки в WinRT, между тем есть предварительная версия Unity именно для WinRT - Unity Preview for .NET 4.5 / WinRT - попробуйте его.

    Но если базовый класс не совместим с Portable Library - то скорей всего придется поддерживать 2 версии кода.


    Для связи [mail]

    • Помечено в качестве ответа Abolmasov Dmitry 26 ноября 2012 г. 6:08
    16 ноября 2012 г. 8:35