Подтвердить что ты не робот

Поделитесь исходным кодом класса С# между несколькими проектами

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

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

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

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

4b9b3361

Ответ 1

Вы можете создать проект библиотеки, который имеет этот класс таким образом, все, что вам нужно сделать, это добавить ссылку на этот проект.

Если это не вариант, вы можете использовать "Правый клик → добавить существующий элемент → Добавить как ссылку", таким образом, у вас есть только одна копия кода, но она может существовать в нескольких проектах.

Ответ 2

Лучшим решением является библиотека классов для обмена.

Но вы можете добавить файл в проект VS как ссылку, а не копировать. Для этого используйте раскрывающийся список кнопки Добавить диалог добавления существующего элемента.

Ответ 3

Если вам действительно нужно разделить исходный код, например, если у вас есть одновременная 32-битная и 64-битная сборка одной и той же сборки (что требуется в некоторых случаях, если вы зависите от собственного кода), вы можете использовать ответ, данный в этой теме: Как вы совместно используете код между проектами/решениями в Visual Studio?

(Ищите ссылку "код" между двумя проектами.)

Ответ 4

Разделите свой код регистрации на отдельную сборку.

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

Он сохраняет все красивое и чистое, и вам нужно будет поддерживать только один набор кода, а не беспокоиться о каждой копии.

Ответ 5

Создайте новую сборку, содержащую этот класс.

Затем все ваши другие проекты могут ссылаться на эту сборку и использовать класс внутри.

Ответ 6

Поместите класс в уникальное пространство имен, а затем добавьте файл как ссылку на все проекты, которые вам нужны для его использования. Убедитесь, что вы поместили оператор using для этого уникального пространства имен, в котором вы будете использовать класс, или вам придется полностью квалифицировать каждое его использование. В подобных ситуациях я думаю, что это гораздо предпочтительнее, чем assemply, поскольку оно не создает ненужных ссылок на перекрестные ссылки, для чего-то, что является частью вашего собственного кода, который вы просто хотите поделиться между вашими проектами.

Ответ 7

Вы также можете использовать свою систему управления версиями, чтобы сделать это.

Обычно мы создаем Directory с Solution и Main Project, а затем передаем этот каталог SVN. Затем все общие библиотеки связаны с помощью svn: external - поэтому все проекты существуют в одном каталоге решений.

После фиксации каждый может проверить работоспособное решение со всеми внешними зависимостями.