Visual Studio эквивалент Delphi «пути поиска» - PullRequest
4 голосов
/ 20 января 2011

Я создал класс C #, определенный в файле .cs, который я использую в существующем проекте.Давайте назовем его классом Magic, определенным в Magic.cs.

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

Как я могу ссылаться на этот класс в моем новом проекте без фактического копирования файла в каталог нового проекта?

В Delphi ответом будет «добавить местоположение определения класса в путь поиска».Это смущающе глупый вопрос, но я нигде не могу найти хороший ответ.

Вот что я попробовал:

1 - Project-> Properties-> Reference Paths>Добавить местоположение моего класса (ссылки на класс все еще не разрешены)

2 - Щелкните правой кнопкой мыши проект -> «Добавить существующий элемент» -> выберите класс (создает новую отдельную копию в папке моего проекта)

3 - Щелкните правой кнопкой мыши по проекту -> «Добавить ссылку» -> увидите, что он ожидает скомпилированную цель, такую ​​как DLL.

См. Также

Ответы [ 4 ]

7 голосов
/ 20 января 2011

Вы находитесь в совершенно новом мире. Нет эквивалента.

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

Вы можете добавить библиотеку классов в свое решение и ссылаться на проект во время разработки. Библиотеки классов действуют очень похоже на BPL, если вы когда-либо использовали их.

Если у вас есть библиотека классов, вы можете поделиться библиотекой между вашими решениями. Это можно сделать двумя способами - путем создания библиотеки и совместного использования двоичного файла - или путем включения проекта библиотек классов в ваше решение. Сначала вы, вероятно, захотите использовать последний метод, пока не освоите его, но как только все станет достаточно большим и ваш общий код успокоится, лучше обратиться к предварительно скомпилированному двоичному файлу.

Здесь есть кривая обучения - но в конце дня вам будет лучше.

Удачи.

4 голосов
/ 20 января 2011

Джозеф, Visual Studio не предоставляет эту функциональность, поэтому должен ссылаться на каждый класс вручную.В любом случае, чтобы не создавать копию вашего класса каждый раз, когда он включен в новый проект, вы должны использовать опцию Add existing item, выбирая add as link.

alt text

2 голосов
/ 20 января 2011

Извините, но вы не можете сделать это, приятно знать, что Delphi предоставляет такую ​​возможность, но, возможно, Visual Studio не делает этого, потому что в конце дня это может привести к путанице связанных файлов.Visual studio любит организовывать связанные файлы в одном проекте или решении.

Если вы хотите, чтобы ваш предыдущий класс был доступен, то, как упоминалось выше, у вас есть только два варианта.

1) Просто скопируйте существующий файл .cs в каталог вашего проекта (щелкнув правой кнопкой мыши по проекту-> «Добавить существующий элемент» -> выберите класс)

2) Добавьте проект в свое решение (щелкните правой кнопкой мыши Решение -> Добавить -> Добавить существующий проект ... -> Выберите файл проекта изБраузер файлов), а затем добавьте ссылку на класс (щелкните правой кнопкой мыши на проекте -> «Добавить ссылку» -> на вкладке «Проекты» выберите свой проект).Он автоматически сделает ссылку на .dll.

3) И последний вариант - скомпилировать ваш класс в .dll и затем добавить ссылку на него в ваш проект.

Удачи

1 голос
/ 20 января 2011

Вы хотите сослаться либо на скомпилированную сборку .Net (в данном случае dll), либо на другой проект, который является частью вашего решения.Если у вас есть источник, вы добавляете проект библиотеки в свое решение.Затем добавьте проект библиотеки в качестве ссылки на проект, который его использует.Когда он скомпилируется, он скопирует DLL в ваш каталог сборки.Использование этого метода хорошо, потому что вы сможете пошагово просматривать код в библиотеке при использовании отладчика.

...