Visual Studio 2017 не может найти папку, которая существует в решении - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть проект Visual Studio 2017, в котором мне нужно открыть папку с именем Devdog.General, которая также включена в мое решение.Однако он не распознает его как существующую папку и выдает ошибку отсутствующего каталога / пространства имен при попытке импортировать ее.Смотрите скриншот для получения дополнительной информации.enter image description here

Ответы [ 3 ]

0 голосов
/ 23 сентября 2018

Что нужно проверить
1.) Проверьте пространства имен в файлах .CS - они совместно создают используемые пространства имен, на которые вы ссылаетесь, а не имена папок.Если вы создадите несколько файлов, затем переместите их в папку и создадите новые файлы внутри этой папки, они будут иметь разные пространства имен.Более новые файлы будут иметь значение пространства имен по умолчанию, за которым следует .FolderName.Так что не забудьте проверить это.

2.) CSPROJ могут скрыться и потерять ссылку на папки, отображаемые в пользовательском интерфейсе.Удалите папку из проекта (через интерфейс VS2017 щелкните правой кнопкой мыши и выберите эту опцию).НЕ УДАЛЯТЬ.Затем заново создайте папку в пользовательском интерфейсе (она не должна позволять вам перейти к каталогу папки вручную и временно переименовать папку .OLD).После того, как папка переименована, попробуйте заново создать папку.В случае успеха переместите все ваши файлы CS в новую папку из папки .OLD.После того, как файлы и папки вернутся туда, где они были по существу, в Visual Studio «Добавить существующие элементы» в ваши файлы .cs.Это воссоздает ссылки CSPROJ одну за другой.

3.) Выгрузите CSPROJ, щелкните правой кнопкой мыши и отредактируйте CSPROJ, чтобы вручную проверить все ссылки .CS в ItemGroups.Убедитесь, что это myfolder\myotherfolder\mycsfile.cs.

4.) Удалите ссылку на другие проекты, которые содержат пространство имен, и заново добавьте их.Проверка, одно за другим, пространства имен начинают появляться в Intellisense как распознанные.

5.) Если вы попытаетесь выполнить предыдущий шаг, закройте Solution, закройте Visual Studio, перейдите к контейнеру папок SLN и удалите скрытую папку .vs и затем снова открыть все.

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

0 голосов
/ 24 сентября 2018

Попробуйте эту кнопку:

Show all files

У меня была похожая проблема на днях, и она была связана с файлами, которые Visual Studio не зналабыли частью проекта, потому что они были созданы извне (и это включало папки).Visual Studio может видеть их, но скрывает их от меня.

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

0 голосов
/ 23 сентября 2018

Сначала попробуйте выбрать любой из ваших файлов "* .cs" в этой папке "General" и проверьте в представлении "Свойства", если Build Action настроен на Compile ,Visual Studio скомпилирует ваш файл, только если у него будет правильное действие сборки.

Во-вторых, откройте этот файл "* .cs" и проверьте, правильно ли определено пространство имен, определенное внутри него.Для C # структуры папок не имеют большого значения: действительно важно пространство имен, в котором вы определили свои классы. Вы можете определить свои классы в пространствах имен, совершенно отличных от папки, в которую они включены в ваш проект.Это совершенно произвольно, и в соответствии с вашими организационными потребностями.

Изображение, иллюстрирующее, что вам нужно проверить (и где), следует.

enter image description here

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