Не удалось найти тип или пространство имен для указанного проекта в том же решении - PullRequest
0 голосов
/ 23 октября 2018

Я получаю эту невероятно надоедливую проблему в VS 2017. Почему-то такие проблемы меня всегда мучают ..

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

Поэтому я просто повторно добавил проект, щелкнув правой кнопкой мыши Обозреватель решений и добавив существующий проект - просто.

Теперь, когдаЯ пытаюсь запустить этот проект (OrderGetter), он не может быть собран с

Не удалось найти тип или имя пространства имен 'Утилиты' (вам не хватает директивы using или ссылки на сборку?)

Utilties - это еще один проект в моем решении:

enter image description here

Он определенно существует и всегда работал впрошлое.Почему эта проблема должна возникать и происходить сейчас?

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

Я пробовал следующее:

  • Чистый раствор
  • Чистый проект
  • Построить / восстановить решение
  • Сборка / восстановление проекта
  • Закрытие всех вкладок, перезапуск VS
  • Удаление / повторное добавление ссылки
  • Выгрузка проекта, удаление ссылки из файла csprojи затем снова добавьте его в пользовательский интерфейс VS перед перезагрузкой проекта
    • Проверено, что GUIDы csproj соответствуют

В Solution.sln я вижу следующее:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MVCQCPage", "MVCQCPage\MVCQCPage.csproj", "{FF699AAD-EA97-4984-9DB2-70F2CA41CA16}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedLibrary", "SharedLibrary\SharedLibrary.csproj", "{0E6DE04C-97A2-4C18-AB83-098C383DF9C7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNet.Identity.SQLite", "..\..\..\..\Downloads\Firefox\Asp.Net.Identity.SQLite-master\Asp.Net.Identity.SQLite-master\AspNet.Identity.SQLite\AspNet.Identity.SQLite.csproj", "{35DAC40A-38D0-43BD-8DCF-34E4061F0A75}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNet.Identity.SQLite.EF", "..\..\..\..\Downloads\Firefox\Asp.Net.Identity.SQLite-master\Asp.Net.Identity.SQLite-master\AspNet.Identity.SQLite.EF\AspNet.Identity.SQLite.EF.csproj", "{D34D1279-F264-4A90-B4A5-2AAE4DE5D0D6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PublicSite", "..\..\..\..\Downloads\Firefox\Asp.Net.Identity.SQLite-master\Asp.Net.Identity.SQLite-master\PublicSite\PublicSite.csproj", "{18D9B36C-50A0-4753-9522-A1C282C70B3E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utilities", "Utilities\Utilities.csproj", "{4473F366-D894-425D-AFE2-75EC883AC0E7}"
EndProject
Project("{F5034706-568F-408A-B7B3-4D38C6DB8A32}") = "Scripts", "Scripts\Scripts.pssproj", "{6CAFC0C6-A428-4D30-A9F9-700E829FEA51}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TurboTime", "TurboTime\TurboTime.csproj", "{05FFA6B7-8ACE-4FDF-83DB-75FBF7C46E64}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TurboTimeConsole", "TurboTimeConsole\TurboTimeConsole.csproj", "{F5B79240-155C-4E8B-B8F7-BFFBC9EFE9EB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrderGetter", "OrderGetter\OrderGetter.csproj", "{BBD80E29-721A-4423-A21E-4B6C51D153FF}"
EndProject

И в Utilites.csproj я вижу, что GUId

<ProjectGuid>{4473F366-D894-425D-AFE2-75EC883AC0E7}</ProjectGuid>

И что OrderGetter.csproj ссылается

    <ProjectReference Include="..\Utilities\Utilities.csproj">
  <Project>{4473f366-d894-425d-afe2-75ec883ac0e7}</Project>
  <Name>Utilities</Name>
</ProjectReference>

Так что GUID являютсято же самое, за исключением того, что один верхний регистр и другой нижний регистр.Что это значит?

Вы можете ясно видеть, что на проект определенно ссылаются:

enter image description here

Почему это происходит?

1 Ответ

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

Если приведенное выше не помогает, вы можете открыть решение, а также файлы проекта в текстовом редакторе и проверить, правильно ли заданы ссылки на файл проекта.

Каждый проект имеет уникальный GUID

<ProjectGuid>{12D33B77-30A1-4D07-9DA4-8789AF6746F5}</ProjectGuid>

ссылочный проект использует этот GUID вместе с путем для ссылки на этот проект:

<ProjectReference Include="..\Data Binding Demo\C#\databindinglab.csproj">
  <Project>{12D33B77-30A1-4D07-9DA4-8789AF6746F5}</Project>
  <Name>databindinglab</Name>
</ProjectReference>

Проверьте затронутые проекты и убедитесь, что имена файлов и GUID совпадают.

Если это не помогает, удалите все ссылки, сохраните и закройте проект, а затем добавьте каждую ссылку снова.

...