powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
21 сообщений из 21, страница 1 из 1
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123159
svnv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас у меня морда UI и библиотека (обработка данных) выполнены как два проекта внутри одного решения в VS, и все решение находится в SVN. Я хочу полностью отделить библиотеку от UI, поскольку она будет также использоваться в других приложениях, над ней работают другие люди и у нее независимые требования. А проект с UI (и другие проекты) должны эту библиотеку как-то подсасывать, но без исходников - просто как одну из внешних библиотек. Может мне кто-то подсказать, как это сделать? Это должно быть два отдельных решения в VS? Я работал всегда на Яве, поэтому прошу прощения за примитивные вопросы - ссылки или ключевых слов будет достаточно. Спасибо.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123176
Фотография Местный король Делфей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MVVM
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123194
svnv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местный король ДелфейMVVM
Это на уровне внутреннего дизайна.

А меня интересует на уровне структуры проектов. Ну допустим, речь идет не об UI, а нескольких библиотек, которые сейчас разрабатываются вместе, а надо их разделить. Но они используют друг друга. Соответственно, как надо оформить проекты или решения для каждой библиотеки. Соответственно, вопросы: что должен генерировать проект (какой артефакт)? как потом засосать этот артефакт в другой проект без построения и без исходников (из SVN)?

(В Яве я могу использовать maven.)
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123268
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvНо они используют друг друга.
Вынести объявления общих типов в отдельную сборку; прорефакторить контракты классов библиотек с выделением общих частей, вынесением этих частей в интерфейсы и абстрактные классы, всё это хозяйство (интерфейсы/абстр. классы) также в отдельную сборку.
svnvкак потом засосать этот артефакт в другой проект без построения и без исходников
Без исходников - как обычный референс на сборку библиотеки.
Без построения - это как? на рантайме? Тогда см. здесь или здесь . Только вышеописанный рефакторинг всё равно придется произвести.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123772
Фотография Местный король Делфей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так бы сразу и сказали. про nuget слышали?
делаете свой кастомный нугет репозиторий
http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #38123912
svnv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделал по народно-крестьянски. Отделил полностью проект с библиотекой и сделал так, что он генерирует DLL. Потому эту DLL вручную копирую во второй проект и другие проекты, где эта библиотека используется. Делю на него ссылку. И все работает.

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

Ну и надо еще понять, как библиотечный DLL автоматически вместе с конечным EXE в дистрибутив вкладывать (вместе с другими ресурсами).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583774
pistoletov74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужно часть кода сделать независимым от основного проекта. В основном проекте куча классов Все они собираются в общий exe. Мне нужно что бы один класс был отдельной dll что бы не пересобирать весь проект а только этот класс. Но этот класс использует классы и метод общей сборки. Свой класс то можно отдельно скомпилировать в dll Но будет ли он видеть классы основной сборки и что нужно сделать для этого?
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583785
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74В основном проекте куча классов Все они собираются в общий exe.
если у вас в одной квартире беспорядок, то вторая квартира в придачу не поможет.
- почему классы не распределены по папкам?
pistoletov74Но этот класс использует классы и метод общей сборки
Придётся наводить порядок и свести все вызовы к обособленному (после "развода") классу к минимуму.
Начните с MVVM или вы этот топик не читали?
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583794
pistoletov74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задача немного не такая...я пишу только определенный класс (формирование pdf отчета) Сам основной код пишут другие ребята. И к порядку их приручать не моя забота. Мой класс лежит в своей отдельной папочке. За Данными обращаюсь в в основной код. Сейчас просто отдаю им исходник и они пересобирают весь проект. Все классы в один exe. Мое желание - выделить dll со своим классом что бы она подтягивалась основным приложением. Так не надо весь код перекомпилировать и доступа к моим исходниками у других не будет. Моя либа то будет видна из основного приложения ...но буду ли я видеть классы из общего exeшника...
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583878
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74,

классы (или интерфейсы) из общего exeшника, что использует Ваша либа и сам exeшник, необходимо вынести в отдельный(е) проект(ы)/сборку(и)/пакет(ы).
Тогда Вы сможете "выделить dll со своим классом".

Но такие вещи в первую очередь надо обсуждать с командой, а не на форуме.

P.S.: а исходники следует хранить в системе контроля версий и доступ к ним должен быть у всех Ваших коллег.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583880
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74Сейчас просто отдаю им исходник и они пересобирают весь проект. Все классы в один exe. Мое желание - выделить dll со своим классом что бы она подтягивалась основным приложением. Так не надо весь код перекомпилировать и доступа к моим исходниками у других не будет. Моя либа то будет видна из основного приложения ...но буду ли я видеть классы из общего exeшника...
Логики нету. Надо длл - делайте.
Но желание спрятать код от друих странное само по себе.
Поставьте tortoise и топик будет исчерпан.

pistoletov74но буду ли я видеть классы из общего exeшника...
Циркулярные ссылки туда обратно плохо.
Если только потренироваться за счет работодателя, делайте.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583882
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583884
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В результате, старый проект, без показаний и обоснований был разбит на 4 дллки и один ехе.
ДЛЛки больше кроме этого проекта не использовались.
Налицо - оверхед.
Удачи!
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583888
pistoletov74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Логики нету. Надо длл - делайте.
Но желание спрятать код от друих странное само по себе.
Поставьте tortoise и топик будет исчерпан.

если бы мог остальных убедить работать с git вообще проблем не было бы. Мой код всегда свежий лежит на гит но им это неудобно..присылайте исходник тогда мы соберем и отдадим заказчику. Вроде и не старперы но вот желания учиться ноль...
а зачем tortouise? - Visual Studio Отлично дружит с Git

Я хочу только оперативности - внес изменения в свою либу и не ожидая основной сборки либа ушла к заказчику. А не ожидать друг друга .
Может есть еще концепты так сказать для "изолированной разработки"..к сожалению приходится и с таким работать.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583890
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема расписана, варианты решения указаны: c# circular reference problem
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583891
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74Вроде и не старперы но вот желания учиться ноль...да. Тогда изучай длл. Но и помни слово оверхед.

pistoletov74зачем tortouise?
Просто пример.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583893
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74Petro123Логики нету. Надо длл - делайте.
Но желание спрятать код от друих странное само по себе.
Поставьте tortoise и топик будет исчерпан.

если бы мог остальных убедить работать с git вообще проблем не было бы. Мой код всегда свежий лежит на гит но им это неудобно..присылайте исходник тогда мы соберем и отдадим заказчику. Вроде и не старперы но вот желания учиться ноль...
а зачем tortouise? - Visual Studio Отлично дружит с Git

Я хочу только оперативности - внес изменения в свою либу и не ожидая основной сборки либа ушла к заказчику. А не ожидать друг друга .
Может есть еще концепты так сказать для "изолированной разработки"..к сожалению приходится и с таким работать.
Оформляете так называемы proposal (предложение), где расписываете текущую реальность с её проблемами, потребности и предлагаете свои варианты решения.
Рассылаете письмом, собираете какое-то время комментарии. Потом организуете совещание, где определяете план действий.

Если не находите поддержки, то как вариант "изолированной разработки" - это избавляетесь от зависимостей от "классов exeшника", создаёте свой Git репозиторий, свой NuGet репозиторий, и свой CI pipeline в TFS, или Teamcity, или Jenkins.

В результате будет так: внесли изменения, push, прошли тесты, билд агент собрал новую версию пакета и опубликовал её, заказчик увидел и обновил.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583894
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74Мой код всегда свежий лежит на гит но им это неудобно..присылайте исходник тогда мы соберем и отдадим заказчику.Неудобно что конретно делать?

Оформите как NuGet-пакет. Им надо будет нажать Update в Visual Studio и собрать проект. Так им будет удобно?
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583897
pistoletov74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANApistoletov74Мой код всегда свежий лежит на гит но им это неудобно..присылайте исходник тогда мы соберем и отдадим заказчику.Неудобно что конретно делать?

Оформите как NuGet-пакет. Им надо будет нажать Update в Visual Studio и собрать проект. Так им будет удобно?

неудобно разбираться с системой контроля версий. Можно конечно NuGet репозиторий поднять где-то. Но думаю вариант присылания dll по почте им будет понятней и удобней.
Завтра засяду за разделение. Спасибо всем за совету. Постараюсь к минимум свести обращения за данными к основному коду. Пусть передается параметрами в мой класс все что нужно.


парни, в этом проекте странностей очень много..но это будет офтоп если описывать все.Спасибо за советы. Разработка когда все враги-). Заказчик например не дает доступ в корпоративную свою закрытую сеть. Раньше на флешке носили исходники теперь хоть на емейл согласились. Речь не идет о правильном решении как автоматическая сборка и сразу снепшот у заказчика.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583898
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74парни, в этом проекте странностей очень много..но это будет офтоп если описывать всеПравильно, от того, что Вы свои претензии будете выссказывать тут, а не на работе, ничего не изменится

pistoletov74Спасибо за советыДа не за что.
...
Рейтинг: 0 / 0
Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
    #39583903
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pistoletov74Разработка когда все враги-).))))
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как разделить проекты: UI (WPF) и библиотеку (C#, C++)?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]