2009-07-22 3 views
0

У меня есть решение в VS 2008, в котором есть один веб-проект и 3 библиотеки классов, как 3 разных проекта. Один проект предназначен для DataAccess, а один для BusinessLogic.VS 2008 C#: библиотека классов недоступна в другой библиотеке классов в том же решении

У меня есть класс в DataAccessLayer. Оттуда, когда я пытаюсь получить доступ к классу библиотеки (проекта) класса BusinessLogic, он не приходит в IntelliSense при вводе. Я использовал одно и то же пространство имен в обоих проектах. Все те же результаты.

Нужно ли создавать библиотеки DLL для первого проекта и добавлять в качестве ссылки на второй?

ответ

6

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

+1

Классы также должны быть общедоступными. – Amy

2

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

1

Это может показаться глупым, но вы указали класс, о котором идет речь, как Public или Friend? Они должны быть «разделены» в этом смысле, чтобы быть правильно подобранными и использоваться в других приложениях, даже если указана ссылка на проект.

5

Вам нужно обратиться к библиотеке в других проектах.

Для этого щелкните правой кнопкой мыши папку с рекомендациями в обозревателе решений, нажмите «Добавить ссылку», перейдите на вкладку «Проекты» и выберите библиотеку, которую вы хотите ссылаться.

EDIT: Кроме того, убедитесь, что класс, который вы пытаетесь использовать декларируется как public (например, public class MyClass).

Если вы не указали модификатор public (который по умолчанию), класс будет использоваться только в его проекте. Чтобы показать классы и участников другим проектам, добавьте модификатор public к их объявлению

+0

Спасибо All.It сработало – Shyju

+0

Эй! Вы украли мой ответ ?! 8^D –

Смежные вопросы