Тип или имя пространства имен "AspNet" не существует в пространстве имен "Ошибка Microsoft"?
Я загрузил веб-сайт и в VS Express открываю его через файл = > открытый веб-сайт. Когда я нажимаю F5 для отладки, я получаю builderrors:
Тип или имя пространства имен AspNet не существует в пространстве имен 'Microsoft'
Я предполагаю, что мне не хватает ссылки, но как это работает на сервере? Ссылки для этих проектов можно найти в каталоге bin?
В разделе website = > start options = > build Я установил следующее: "Создайте веб-сайт" и целевую структуру ".net framework 4", это то же самое, что и сервер.
Я предполагаю, что он ищет DLL, которая содержит Microsoft.aspNet, с которой probalby находится в файле fullUnrelatedName.dll в папке scratchYourHeadAndLookSomeMore
Может кто-нибудь помочь мне и дать мне понять, почему Microsoft.aspNet будет отсутствовать на моем компьютере?
У меня возникает соблазн выйти из этой работы, поскольку все проекты являются веб-проектами без какой-либо документации, которая не будет работать локально, но потребует серьезных изменений. У клиента нет проблем с внедрением изменений на сайте, но я делаю.
Ответы
Ответ 1
Я предполагаю, что мне не хватает ссылки, но как это работает на сервере? Ссылки для этих проектов можно найти в каталоге bin?
Нет, если используемые библиотеки установлены на сервере. Вы также можете установить их на свою рабочую станцию или добавить правильные ссылки (например, через NuGet) и выполнить установку bin-deploy.
О том, как узнать, какие библиотеки вам не хватает: найти имена классов, а не имена пространства имен.
Ответ 2
Перейдите в Инструменты → Диспетчер пакетов NuGet → Управление пакетами NuGet для решения.
Нажмите вкладку "Интернет".
Поиск Microsoft Identity Framework Microsoft ASP.NET.
Установите этот пакет.
Восстановить решение.
Ответ 3
У меня тоже было это сообщение об ошибке, поэтому я снова установил все мои пакеты nuget через консоль диспетчера пакетов. К сожалению, это не сортировало мою проблему и после загрузки полностью отдельного проекта в другом решении, в котором я экспериментировал: Тип или имя пространства имен "AspNet" не существует в ошибке "Microsoft" в пространстве имен, я заметил, что это происходило и там. Это означало, что с моей Visual Studio возникла проблема, а не проблема с отдельными пакетами или проектами.
Оказывается, мой MEC-компонентный кэш был поврежден - чтобы исправить это, я удалил папку кэша компонентов модели Visual Studio, которую можно найти здесь:
%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache
Mads Kristensen создал расширение Clear MEF для компонента Component Cache, которое может показаться вам полезным:
Очистить компонентный кэш MEF
Ответ 4
Я пытаюсь выполнить все вышеописанное решение, но оно не решило мою проблему.
Если вы все еще не можете решить эту проблему, это может помочь вам
https://www.nuget.org/packages/DotNetOpenAuth.AspNet/
Установка NuGet:
Перейдите в Инструменты → Диспетчер пакетов NuGet → Консоль диспетчера пакетов
PM > Install-Package DotNetOpenAuth.AspNet