Как именно связаны проекты в одном решении? - PullRequest
0 голосов
/ 15 октября 2010

Я предположил, что когда у меня есть, скажем, Проект A и Проект B, а Проект B зависит от Проекта A, я смогу использовать в Проекте B классы, определенные в Проекте A. Поэтому, если у меня есть

namespace HiFolks
{
    public class SomeClass{}
}

в Проекте A, тогда я могу использовать HiFlolks.SomeClass в Проекте B так же, как если бы он был определен в Проекте B. Он работал так же раньше, но теперь я просто добавил проект под названием Storm в свое решение и установил его как мой проектскажем, Project X зависит от Storm, но я получаю эту ошибку: "Не удалось найти тип или имя пространства имен 'Storm' (отсутствует директива using или ссылка на сборку?)". Thisпроисходит даже после успешного построения и перестройки решения.

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

Ответы [ 2 ]

4 голосов
/ 15 октября 2010

Как вы "установили Project X в зависимости от Storm"?Интересно, заходили ли вы в настройки сборки для решения, чтобы убедиться, что Storm собирается до Project X, но без ссылки между ними.

В основном вам нужно добавить ссылку из Project X в Storm, например, щелкнув правой кнопкой мыши «Ссылки» в Project X в Solution Explorer, а затем выбрав «Добавить ссылку».Выберите вкладку Projects и выберите Storm.Если вы сообщите нам, какую версию Visual Studio вы используете, мы сможем предоставить более подробную справку и, возможно, снимки экрана.

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

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


1 Да, есть [InternalsVisibleTo], нодавайте пока все упростим.

2 голосов
/ 15 октября 2010

Вы добавили ссылку на проект ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...