“OwinStartupAttribute”类型或命名空间找不到。

4

错误

无法找到类型或命名空间名称“OwinStartupAttribute”
无法找到类型或命名空间名称“OwinStartup”

代码

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Employee.Web.Models.Startup))]
namespace Employee.Web.Models.Startup
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();
        }
    }
}  

任何帮助都将不胜感激。
使用:
.net 4.0 MVC 4 Microsoft.AspNet.SignalR.SystemWeb (1.1.0.0) Microsoft.Owin (2.1.0.0) Microsoft.Owin.Host.SystemWeb (2.1.0.0) Owin (1.0.0.0) Visual Studio 2013
在引用了命令Install-Package Microsoft.AspNet.SignalR -Version 1.1.3之后,安装了Singlar。
更新: 我删除了[assembly:.. 并在web.config中添加了以下内容: <add key="owin:AppStartup" value="Employee.Web.Models.Startup" /> 错误现在显示为: ‘Owin.IAppBuilder’不包含名为‘MapSignalR’的定义,并且没有接受类型为‘Owin.IAppBuilder’的第一个参数的扩展方法‘MapSignalR’可用。

我使用.net4.5测试了Asp.net Web应用程序的SignalR,一切都很好。现在尝试将其集成到.net4.0 mvc4中,但出现了这些错误。 - sukesh
3个回答

2
为了解决这个问题:
  1. 确保已安装Microsoft.Owin
  2. 右键单击项目,选择添加项并搜索"startup"
  3. 现在,您已经有了一个OWIN Startup.cs类。点击OWIN Startup class,然后将其添加到Startup1.cs下面,然后错误就会消失。
  4. 删除添加的Startup1.cs

最后,重新构建即可。

希望能对您有所帮助!


1
  1. 我从项目引用中移除了Microsoft.Owin
  2. 下载了.dll文件,并将其放置在项目的bin/文件夹中
  3. 右键点击引用,选择添加,浏览,找到.dll文件,它就会构建成功!
  4. 确保packages.config版本与您下载的Owin版本匹配。

1
创建一个名为Startup的类,这将对你有帮助。
public class Startup
{
   public void Configuration(IAppBuilder app)
   {
      app.MapSignalR();
   }
}

除此之外,如果您的启动类不在默认命名空间中,可以在<configuration>区域添加一个web config行,例如:<add key="owin:AppStartup" value="[NameSpace].Startup" /> 这里有更多的解释。

“另外...”这部分怎么样? - israel altar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接