Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/58: Рейтинг темы: голосов - 58, средняя оценка - 4.55
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133

Общие классы для проектов в решении

28.08.2012, 15:41. Показов 11445. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди добрые, ничего не пойму, объясните дураку:
Как сделать чтобы два (более) проектов в одном решении видели один и тот же класс? Вроде куда проще =(

Например
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
solution
{
   project A
   {
      class A_class { }
   }
   project B
   {
         // Здесь использую A_class
   }
}
Или
solution
{
   class A_class { }
   project A
   {
      // Здесь использую A_class
   }
   project B
   {
      // И здесь использую A_class
   }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.08.2012, 15:41
Ответы с готовыми решениями:

Несколько проектов в одном решении - для чего?
Всем привет! Начинаю писать на C# и задался таким вопросом - с какой целью делается несколько проектов в одном решении?

Как сохранять общие классы для Клиента и для Сервера?
В клиент-серверном приложении создал Класс, объектами которого пользуюсь для отправки данных. Класс получается общий, что для сервера, что...

Общие данные на несколько проектов
Сейчас есть сайт (с1) с кучей пользователей. Его нужно разделить на 2 сайта (с1 и с2), но при этом сохранить базу пользователей....

14
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
28.08.2012, 15:42
что ты называешь проект?
что ты называешь решение?
что ты называешь класс?
что ты называешь solution?
0
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
28.08.2012, 15:45  [ТС]
Проектом я называю проект (не важно какого шаблона)
Решением я называю решение (набор проектов, которые я называю проектами)
Классом я называю публичный класс (абстрактный и не очень)
Solution в переводе с английского решение, которое я называю... ну вроде уже было =)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
28.08.2012, 15:52
Создай проект, сохрани его. Получится решение с твоим проектом. Добавь новый проект типа: "Библиотека классов". Потом выбери в нужном проекте (не dll) в обозревателе решений пункт (папку?) "Ссылки", жми правую кнопку, в появившемся меню выбирай "Добавить ссылку", добавляй dll, всё пользуйся таким образом классом с нескольких проектов или просто с одного проекта, не важно.

Не по теме:

Цитата Сообщение от Romeo13 Посмотреть сообщение
Решением я называю решение (набор проектов, которые я называю проектами)
:D

1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
28.08.2012, 15:55
окончательное решение ...
0
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
28.08.2012, 15:58  [ТС]
А будут ли проекты динамично (по мере редактирования библиотеки классов) подхватывать нововведения? или пока не откомпилишь библиотеку, проекты будут красненьким все штриховать? да и лишнюю длл в проект не очень хочется

Добавлено через 2 минуты
В само решение можно добавлять классы, в древе проектов появляется папочка Solution Items, но эти классы нигде не фигурируют=( какой в них толк тогда?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
28.08.2012, 15:58
Цитата Сообщение от Romeo13 Посмотреть сообщение
А будут ли проекты динамично (по мере редактирования библиотеки классов) подхватывать нововведения? Или пока не откомпилишь библиотеку, проекты будут красненьким все штриховать?
Не помню. Проверь, там делов то.

Цитата Сообщение от Romeo13 Посмотреть сообщение
да и лишнюю длл в проект не очень хочется
Ну, а что делать, придётся.
0
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
28.08.2012, 16:00  [ТС]
Можно по топорному все *.cs файлы копировать во все проекты=) но должно же быть что-то? Почему нужного эффекта не дают зависимости проектов? кто подскажет хорошую ссылку или книгу где именно про такую лабуду почитать? можно на англицком.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
28.08.2012, 16:04
Цитата Сообщение от Romeo13 Посмотреть сообщение
да и лишнюю длл в проект не очень хочется
Чисто интересно, а чем эта лишняя библиотека помешает, кроме как вынесет часть кода в отдельную сборку, которую потом можно будет использовать где-то ещё?

Добавлено через 2 минуты
Цитата Сообщение от Romeo13 Посмотреть сообщение
Можно по топорному все *.cs файлы копировать во все проекты=) но должно же быть что-то?
В любом случае, появится необходимость что-то стороннее использовать, вот и будут дополнительные сборки в проекте.

Добавлено через 28 секунд
Цитата Сообщение от Romeo13 Посмотреть сообщение
Почему нужного эффекта не дают зависимости проектов?
Я тебе написал уже, как сделать, чтобы был нужный эффект.

Добавлено через 38 секунд
Цитата Сообщение от Romeo13 Посмотреть сообщение
кто подскажет хорошую ссылку или книгу где именно про такую лабуду почитать?
Если тебе не подходит предложенный вариант, то расскажи, что ты подразумеваешь под зависимостями?
0
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
28.08.2012, 16:06  [ТС]
Да особо не мешает) зато кто нибудь будет моими дллками пользоваться бесплатно XD кому это надо. А если серьезно, я подобную идею делал только не в одном решении а в нескольких. Т.е. одно окно C# для длл-библиотеки, второе для самой программы. И в этой прогремме ссылка на ту длл-ку. Не очень удобно. Нужно компилить нужно обновлять...

Добавлено через 1 минуту
Может я тогда не до конца понял мысль? В настройках решения можно настроить, как один проект зависит от другого. Точней от какого проекта какой зависит
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
28.08.2012, 16:06
Цитата Сообщение от Romeo13 Посмотреть сообщение
файлы копировать во все проекты
Во-втором проекте в Solution Explorer правой кнопкой - Add - Existing Item. Выбираем нужный cs-файл и выбираем Add As Link. Т.е. теперь два проекта будут содержать один и тот же файл, но при этом не будут зависеть друг от друга.
Или создать шаблон решения.
1
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
28.08.2012, 16:16  [ТС]
Casper-SC, да, вобщем то, никаких решений, кроме предложенного тобой нет =) спасибо.

Добавлено через 2 минуты
Blood-Angel, спасибо. жаль конечно, но хотелось бы чтоб C# все это сам делал. Кинул в решение файл и все его видят.. было бы удобно.
0
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 3
18.03.2016, 04:04
Romeo13, я нашел способ. Спустя почти 5 лет

И так, у Вас в "Обозревателе решений" есть несколько решений (проектов), где один из них (1) содержит файл класса (формы и т.п.), который необходимо использовать в другом (2) решении.

Чтобы этого добиться, в (2) в ссылках "References" нажмите правой кнопкой мыши и выберите "Добавить ссылку...". В появившемся окне "Менеджер ссылок" выбираем справа вкладку "Решение" -> "Проекты", где в списке будут Ваши решения (проекты). Из них выбираем (1), в котором содержится в будущем используемый файл. Далее очевидно "OK".

При использовании файла из другого решения (проекта) (1) в (2) используйте
C#
1
using НазваниеРешения1;
0
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 1
04.05.2017, 09:32
В копилку - зачем это нужно.

Есть приложение. Пишем к нему плагины. Компилим в dll, вставляем - всё работает.

Вышла новая версия приложения. Чтобы скомпилить плагин в dll надо поменять референсы на актуальные для этой версии.

Теперь дописываем, что-то в оригинальные классы, и нам надо скомпилить dll и для одной версии приложения, и для другой (а вообще их 5 версий, и все актуальные, и все надо обновлять, и результат хранить в одном репозитории, чтобы пользователь сам выбрал решение под свою версию приложения).

Соответственно выносить классы в еще одну библиотеку смысла нет. А вот использовать одни и те же классы в каждой библиотеке смысл есть.
0
Эксперт .NET
 Аватар для Usaga
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,262
04.05.2017, 09:56
Цитата Сообщение от DonJad Посмотреть сообщение
Есть приложение. Пишем к нему плагины. Компилим в dll, вставляем - всё работает.
Вышла новая версия приложения. Чтобы скомпилить плагин в dll надо поменять референсы на актуальные для этой версии.
Что?..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2017, 09:56
Помогаю со студенческими работами здесь

Несколько проектов в решении
Есть решение с проектом web приложение ASP.NET, хочу перенести одну из страниц aspx в другой проект. Как можно организовать это? Понятно...

Несколько проектов в одном решении
Добрый день! Вопрос такой: предположим, в одном решении есть 2 проекта - project1 и project2. В каждом проекте есть форма и кнопка...

Взаимодействие проектов в одном решении
Доброго времени суток! :) Имеем решение, в нем припустим 2 проекта. Нужно организовать взаимосвязь между ними - вызывать методы из этих...

Подключение в одном решении 2 проектов
В общем я не так давно начал самостоятельно изучать плюсы, как оказалось простые универские программы не особо помогают). Сделал несложную...

Связывание нескольких проектов в решении VS2010
Добрый день, уважаемые формучане! Подскажите мне, если кто знает, как мне быть? Я работаю над проектом DLL-файла. Написал часть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru