Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Общие классы для нескольких проектов  [new]
Квази
Member

Откуда:
Сообщений: 421
Как это реализуется?
Попробовал shared project, но в них вроде нельзя использовать статические классы.
Сама суть задачи - есть три класса, один из них статический и используется в одном из остальных. Эти классы общие для нескольких разных проектов (web-сервис и десктопное приложение).
7 ноя 18, 14:07    [21726804]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19449
просто создаешь проект и добавляешь в оба решения, никаких проблем, в том числе со статическими классами
7 ноя 18, 14:13    [21726820]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 2986
продумайте архитектуру заранее, потом будет поздно
7 ноя 18, 16:40    [21727098]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145432
Хотя создание общей dll действительно правильное решение, но бывают нюансы. Например у меня одно из приложений по требованию заказчика должно состоять из одного exe-файла.

Тогда есть еще один способ.
В одном из приложений этот файл класса лежит физически.
В другие приложения передается ссылка на него.
Проект-Добавить существующий элемент. И на этой форме можно выбрать "Копировать" или "Добавить как ссылку"
7 ноя 18, 20:43    [21727383]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19449
Cat2
Тогда есть еще один способ.
В одном из приложений этот файл класса лежит физически.
В другие приложения передается ссылка на него.
Проект-Добавить существующий элемент. И на этой форме можно выбрать "Копировать" или "Добавить как ссылку"
Тот еще гемор. Особенно с рефакторингом.

Cat2
Например у меня одно из приложений по требованию заказчика должно состоять из одного exe-файла.
Плагины что ли? Я тоже с таким столкнулся, правда "заказчик" был внутренним. В итоге удалось убедить начальство, что нужно переделать сервис плагинов, чтобы подгружал длл-ки, иначе поддержка превращалась в жуткую содомию.
7 ноя 18, 21:06    [21727404]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145432
Shocker.Pro
Cat2
Тогда есть еще один способ.
В одном из приложений этот файл класса лежит физически.
В другие приложения передается ссылка на него.
Проект-Добавить существующий элемент. И на этой форме можно выбрать "Копировать" или "Добавить как ссылку"
Тот еще гемор. Особенно с рефакторингом.

Cat2
Например у меня одно из приложений по требованию заказчика должно состоять из одного exe-файла.
Плагины что ли? Я тоже с таким столкнулся, правда "заказчик" был внутренним. В итоге удалось убедить начальство, что нужно переделать сервис плагинов, чтобы подгружал длл-ки, иначе поддержка превращалась в жуткую содомию.

А оно мне надо - заказчика убеждать? Любой каприз за Ваши деньги.
Причем мне это совсем не мешает в других проектах использовать этот класс в dll
7 ноя 18, 22:17    [21727462]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19449
Cat2
А оно мне надо - заказчика убеждать? Любой каприз за Ваши деньги.
Причем мне это совсем не мешает в других проектах использовать этот класс в dll
Программист - самое ленивое существо. По-моему убедить заказчика менее накладно )
7 ноя 18, 22:35    [21727477]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 2986
Shocker.Pro
Cat2
А оно мне надо - заказчика убеждать? Любой каприз за Ваши деньги.
Причем мне это совсем не мешает в других проектах использовать этот класс в dll
Программист - самое ленивое существо. По-моему убедить заказчика менее накладно )
не согласен с вами :( админ самое ленивое, это просто квинтэссенция ленивца и человека, говорю как человек, который считает себя бывшим админом. Когда стал программистом, я месяца 4 был в шоке от того, сколько нужно работать :D
7 ноя 18, 23:10    [21727506]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
hVostt
Member

Откуда:
Сообщений: 14924
Shocker.Pro
просто создаешь проект и добавляешь в оба решения, никаких проблем, в том числе со статическими классами


Лучше заранее заложить внутренний нугет репозитарий, и общие компоненты пилить отдельно, со своей версионностью.

Общий проект на N решений это конечно хорошо, но до поры до времени. А потом просто не будет возможности выделить. Копипаст неизбежен, как и говнокод, если не принимать волевых решений.
7 ноя 18, 23:47    [21727528]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19449
Как всегда, пришел Хвост, и все опошлил выдал наиболее мощное и универсальное решение ))
7 ноя 18, 23:49    [21727533]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8425
Выделил в отдельный экзешник, при запуске проверяет базовые моменты (коннект к серверам, выдаёт свою версию, общую информацию типа "бла-бла-бла"). На него делаю ссылки... Норм. Можно и dll-ку, конечно....
7 ноя 18, 23:55    [21727537]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 4337
Cat2
Хотя создание общей dll действительно правильное решение, но бывают нюансы. Например у меня одно из приложений по требованию заказчика должно состоять из одного exe-файла.

Тогда есть еще один способ.

И еще один.
И еще один.
На практике применялись оба, если что.
8 ноя 18, 03:09    [21727578]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 770
hVostt
Лучше заранее заложить внутренний нугет репозитарий, и общие компоненты пилить отдельно, со своей версионностью.

Так и делаем.
8 ноя 18, 07:45    [21727647]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2350
Cat2
Тогда есть еще один способ.
В одном из приложений этот файл класса лежит физически.
В другие приложения передается ссылка на него.
Проект-Добавить существующий элемент. И на этой форме можно выбрать "Копировать" или "Добавить как ссылку"

Хороший (и, наверное, единственный) способ чтобы использовать partial для добавления в общие типы "специфики" проектов. Например, на клиентской стороне добавляются свойства/методы пользовательского интерфейса, на серверной - взаимодействия с БД и т.п. Если есть возможность, всегда использую такую технику.
8 ноя 18, 13:32    [21728079]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4547
LR
Cat2
Тогда есть еще один способ.
В одном из приложений этот файл класса лежит физически.
В другие приложения передается ссылка на него.
Проект-Добавить существующий элемент. И на этой форме можно выбрать "Копировать" или "Добавить как ссылку"

Хороший (и, наверное, единственный) способ чтобы использовать partial для добавления в общие типы "специфики" проектов. Например, на клиентской стороне добавляются свойства/методы пользовательского интерфейса, на серверной - взаимодействия с БД и т.п. Если есть возможность, всегда использую такую технику.

Т.е. ты вот так запросто добавляешь новые члены в partial из одного проекта в другом проекте?
8 ноя 18, 15:06    [21728266]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35349
ЕвгенийВ
запросто добавляешь
добавлять не удалять)
8 ноя 18, 15:27    [21728308]     Ответить | Цитировать Сообщить модератору
 Re: Общие классы для нескольких проектов  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2350
ЕвгенийВ
LR
пропущено...

Хороший (и, наверное, единственный) способ чтобы использовать partial для добавления в общие типы "специфики" проектов. Например, на клиентской стороне добавляются свойства/методы пользовательского интерфейса, на серверной - взаимодействия с БД и т.п. Если есть возможность, всегда использую такую технику.

Т.е. ты вот так запросто добавляешь новые члены в partial из одного проекта в другом проекте?

Не совсем понял что значит "partial из одного проекта в другом проекте", но наверное да, вот так запросто добавляю:)
Тем самым избавляясь от множества излишних сущностей.
8 ноя 18, 18:25    [21728563]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить