Visual Studio - проект отображается как "Разные файлы"

Это странно. У меня есть проект библиотеки классов С# в моем решении. Если я открою файл .cs в этом проекте, раскрывающийся список Project в редакторе кода показывает, что он принадлежит к "Разным файлам".

Screenshot of the problem

Другие симптомы: если я перехожу к свойствам проекта и смотрю Assembly Information, все значения пустые, несмотря на значения, существующие в файле AssemblyInfo.cs.

Оба они раздражают, но проблема в том, что

  • Я не получаю intellisense для любых файлов в проекте
  • Кажется, я не могу пройти через него в отладчике (он говорит мне, что файлы не принадлежат к решению и поэтому не могут быть отлажены).

Assembly info is blank

Я пробовал:

  • Комбинирование через файл .csproj и сравнение с другими в решении (без радости)
  • Повторное создание файла .csproj и перезапись старого (работавшего до тех пор, пока я не объединил ветку в туловище, затем проблема снова появилась)
  • Наклонение головы на клавиатуре (головная боль)

Google ничего не обнаружил. Есть ли у кого-нибудь идеи относительно того, что здесь происходит?

Ответы

Ответ 1

Как я решил свою проблему:

  1. Перейдите к файлу, который отображается как Разные файлы внутри Solution Explorer.
  2. Щелкните правой кнопкой мыши файл и выберите "Исключить из проекта".
  3. Щелкните правой кнопкой мыши свой проект/папку, в которой находился файл, нажмите "Добавить существующий элемент" и добавьте только что удаленный файл обратно в проект.

Ответ 2

У меня эта проблема и в VS 2017.
Я обнаружил, что эти файлы miscellaneous являются файлами, добавленными вне VS. Поэтому, если вы переключитесь на другую ветвь git (где есть новые файлы) без закрытия VS и нажмите кнопку "Обновить" в VS (когда он проверяет, что файлы sln/csproj изменены вне VS), то эти новые файлы не являются правильно проанализирован VS и "отмечен" как miscellaneous.

Как обходной путь я закрываю VS, удаляю папку .vs с диска и снова запускаю VS. После того, как VS будет полностью инициализирован, эти новые файлы будут успешно проанализированы. Обратите внимание, что этот способ очищает пользовательские настройки, такие как StartUp Project и т.д.

Ответ 3

У меня была точно такая же проблема, и оказалось, что некоторые из файлов XAML в моем проекте были настроены для создания с использованием действия "XamlAppDef" (т.е. построили его как рабочий процесс XAML), и когда я вернул его к ' Compile ', выпадающий список Project мгновенно перешел из (Разное) в правильный проект.

Ответ 4

Вот решение:

  • Перейдите в Параметры в меню Сервис, а затем выберите Документы в Среда node. (Если документы не отображаются в списке, выберите "Показать все настройки" в диалоговом окне "Параметры".)
  • Поставьте галочку на " Разные файлы в обозревателе решений" и нажмите ОК. (Этот параметр отображает "Разное файлы" node в обозревателе решений. Другие файлы - это файлы, которые не связаны с проектом или решением, но могут отображаться в обозревателе решений для вашего удобства, если вы отметите эту опцию.)
  • Найдите файл в обозревателе решений в разделе "Разное файлы" . Затем перетащите свой файл туда, где он должен принадлежать, и вуаля! Это будет скопировать файл туда, где вы его удаляете. Теперь вы можете безопасно удалить старый файл в папке "Разное файлы" , если вы этого хотите.

Ответ 5

В VS2017 я смог исправить эту проблему, удалив папку *.vs и файлы *.user

Ответ 6

Из-за TypeScript убедитесь, что ваш файл соответствует шаблону, указанному в файле tsconfig.json в разделе "Включить". Если файл .ts не был добавлен tsconfig, тогда intellicense покажет его как Разное.

Ответ 7

Попробовав все остальные предложенные решения, у меня сработало следующее:

  • Редактирование файла .gitattributes.
  • добавление *.xproj text eol=crlf

Так что мои проекты VS2015 xproj в стиле .NET Core/Standard снова заработали.

Оказалось, что мой git ставил EOL в стиле UNIX, что сбивало с толку VS.

Ответ 8

может быть, вы можете только открыть проект ошибки в другом решении и добавить проект, который вам нужен, в новом решении

Ответ 9

Проверьте эту ссылку https://www.reddit.com/r/VisualStudio/comments/b8vbj8/help_netf461_project_opened_in_vs2019_all_files/

  1. Щелкните правой кнопкой мыши "Ссылки" в обозревателе решений.
  2. Выберите "Управление пакетами NuGet"
  3. Под вкладкой "Установлено" ищите "Microsoft.Net.Compilers"
  4. Выберите "Microsoft.Net.Compilers"
  5. В боковом окне "Microsoft.Net.Compilers" нажмите кнопку обновления

    • VS2015 совместим с .NET Compiler 1.xx
    • VS2017 совместим с .NET Compiler 2.xx
    • VS2019 совместим с .NET Compiler 3.xx

Итак, просто обновите Microsoft.Net.Compilers в соответствии с вашей версией

Ответ 10

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

Я только что затронул эту проблему в VS 2017, и это то, что сработало для меня.

Ответ 11

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

Я не могу вспомнить, какие именно Nugets, но я почти уверен, что один из них - Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Ответ 12

Каким-то образом я решил эту проблему, перейдя в свойства (щелкните правой кнопкой мыши файл и выберите Свойства). Действие Build было установлено в Content. Просто измените его на Compile и проблема решена.