Я не получаю понятие Проектов Visual Studio и Решений

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

9
задан Haacked 21 September 2008 в 17:54
поделиться

8 ответов

Проект VS является своим собственным объектом. Это создаст и скомпилирует отдельно. Решением является просто способ содержать несколько проектов. Для проектов не обязательно нужны другие проекты скомпилировать (хотя, они могут зависеть от других проектов).

Это просто позволяет Вам концептуально собрать в группу проекты в один Большой Проект. Например, у Вас может быть отдельный проект тестирования. Это зависит от кода из фактического проекта и должно быть сохранено вместе с фактическим проектом, но это не должно быть в том же exe/dll.

22
ответ дан 4 December 2019 в 06:27
поделиться

Каждый проект VS создает единственный EXE или DLL. Решением является просто набор связанных проектов.

Так VS project:Eclipse проект:: VS solution:Eclipse рабочая область.

12
ответ дан 4 December 2019 в 06:27
поделиться

@Thomas Owens:

Да, некоторые (большинство?) у людей, использующих Eclipse, есть больше чем одна рабочая область. Это - то, что удивило меня больше всего, когда я сначала начал использовать Eclipse, таким образом, я отвечаю здесь для создания этого комментария более видимым.

1
ответ дан 4 December 2019 в 06:27
поделиться

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

  • Мое веб-приложение или приложение победы
    • Уровень представления
      • файлы...
    • Бизнес-слой
      • файлы...
    • Доступ к данным
      • файлы

Ваш пробег может варьироваться

2
ответ дан 4 December 2019 в 06:27
поделиться

Вещь, которая может отбрасывать Вас, следующая:

В VS2003 все имело файл Проекта и файл Решения. Если бы у Вас было Решение с одним Проектом, то Вы могли бы открыть Solution и видеть один Проект. При открытии Project он попытался бы создать новый файл Решения для содержания Проекта. Но веб-проекты и проекты Winform все имели Проекты и Решения.

В VS2005 это изменилось немного - по умолчанию теперь, веб-проекты больше не имели файлы Проекта. Они получили обратную связь от некоторых веб-разработчиков, которым не нравились файлы Проекта - их взятие было то, что, если файл находится в каталоге, это - часть приложения. После поставленного VS2005 они получили больше обратной связи от разработчиков, которым действительно нравилось понятие файла Проекта, таким образом, они исправили его, въезжают задним ходом. Это - "веб-сайт" по сравнению с "веб-приложением" в VS2005 (и я не могу помнить, который является который теперь).

Кроме того, в VS2005, если у Вас есть Решение, открытое только с одним Проектом, Вы не будете видеть в Проводнике Решения, что существует даже Решение вообще, Вы будете только видеть Проект (как будто это не было в Решении). Только после добавления второго Проекта будет Вы видеть, что существует Решение, содержащее их обоих.

Так в основном Вы были на правильном пути - Решения и работа Проектов то же в Visual Studio, как они сделали в Eclipse, это - просто некоторые причуды, которые делают вещи, путающие.

1
ответ дан 4 December 2019 в 06:27
поделиться

Решение имеет 0 или много Проектов...

0
ответ дан 4 December 2019 в 06:27
поделиться

Существует слишком много видов веб-проектов в Visual Studio 2008. Существуют Проекты веб-сайта по сравнению с веб-приложением Проекты, и они ограничивают Вас по-разному. Это - хороший пример Microsoft, обеспечивающей слишком много вариантов вместо того, чтобы фокусироваться на одном эффективном решении. Даже в опции Project веб-сайта, существует по крайней мере 3 различных способа скомпилировать Ваше приложение.

0
ответ дан 4 December 2019 в 06:27
поделиться

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

0
ответ дан 4 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: