Не удалось найти тип или пространство имен IAppBuilder(отсутствует с помощью директивы pr ссылка на сборку)
Я работаю над Asp.Net приложение MVC 4, в котором я использую SignalR 2.0.1, и я сопоставил его с помощью класса запуска Owin, и сначала он работал нормально.
внезапно, когда я попытался перестроить свое приложение, он сказал, что тип-это пространство имен IAppbuilder не удалось найти.
ниже мой класс запуска
using Microsoft.Owin;
using Owin;
using WhiteBoardApp;
namespace WhiteBoardApp
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
Я установил Owin пакет тоже, и по некоторым причинам я не мог найти Owin Startup class поэтому я просто добавил нормальный класс и включены все ссылки, которые нужны.
Пусть я знаю, где я делаю ошибку
7 ответов:
у меня была аналогичная проблема. Но вместо того, чтобы долг, проблемы вызывает Майкрософт.Долг, очевидно,
Update-Package Owin -Reinstallне сработало, так же как и
Update-Package Owinно
Install-Package Microsoft.Owinотлично сработало для меня, спасибо.
интерфейс IAppBuilder находится под пакетом Owin. Просто добавьте ссылку в файл класса:
с помощью Owin;
и восстановить. Ваш проект будет забрать это.
Я не знаю, почему против не забрать это, но это не так. После того как я добавил эту ссылку на мой проект, то все встало на свои места.
я столкнулся с той же проблемой при создании моего проекта. Вот шаги, которые помогли решить мою проблему:
- на
Solution Explorerи ищите свой проект- в рамках проекта расширения
References; вы должны увидеть предупреждения о проблемных ссылка- щелкните правой кнопкой мыши
Referencesи открытымManage NuGet Packages- поиск имени проблемной ссылки т. е.
Microsoft.Owin; после загрузки он показывает, что он уже установлен (это, но это установлен неправильно. Проверка свойств > версия на Шаге 2 показывает0.0.0.0)- Регистрация
Force uninstall, even if there are dependencies on it- удалить
- установить
- построить и запустить проект
проблемы
не удается установить
Microsoft.Web.Infrastructureпотому что он уже существует в папке packages. Откат назад...
- перейдите в папку проекта и найдите пакеты
- найти проблематично пакет т. е.
Microsoft.Web.Infrastructure- удалить папку
- возобновить с шага 7
варианты
вот альтернативы, о которых я читал, чтобы исправить эту проблему.
- очистить и перестроить проект / решение
- Перезапустить Visual Studio
- перезагрузить ПК
удачи.
моя Visual Studio 2013 по какой-то причине не понимала, что существуют пути ссылок. Желтый восклицательный знак перед ссылками был показан для всех добавленных пакетов. Я проверил ../ packages / но все файлы существовали, я также открыл их .csproj файл, который ссылается на правильные пути.
закрытие и открытие решения вернуло довольно много ошибок, и не удалось загрузить проекты, включенные в решение.
перезапуск сохраненной Visual Studio 2013 день по какой-то необъяснимой причине.
мой следующий эквивалент использования в F# представляет проблему сокрытия IAppBuilder. Оказывается, что условие Оуина интерпретировалось как неполная система.Сеть.Http.Ссылка Owin, даже если Owin.на библиотеку dll, предоставляющую пространство имен Owin, была сделана ссылка.
open System.Net.Http open System.Web.Http open Microsoft.Owin open Owinпроблема была решена путем перестановки использования следующим образом:
open Microsoft.Owin open Owin open System.Net.Http open System.Web.Http...конечно, это может быть ошибка, свойственная компилятору F#, и конфликты имен лучше обрабатываются в C# и в другом месте.
http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr
проверьте наличие используемой visual studio Вы можете найти следующий комментарий
Примечание: Если вы используете Visual Studio 2012, шаблон класса концентратора SignalR (v2) будет недоступен. Вместо этого вы можете добавить простой класс ChatHub.
также Примечание: Если вы используете Visual Studio 2012, так, шаблон запуска OWIN класс не будет доступен. Вместо этого вы можете добавить простой класс Startup.
Comments