关于c#:找不到包含OwinStartupAttribute错误的程序集

No assembly found containing an OwinStartupAttribute Error

这个错误

尝试加载应用程序时出现以下错误。-找不到包含owInstartuattribute的程序集。-找不到给定的类型或方法"false"。尝试指定程序集。若要禁用owin启动发现,请在web.config中添加值为"false"的appsetting owin:automaticappstartup。要指定owin启动程序集、类或方法,请使用web.config中完全限定的启动类或配置方法名称添加appsetting owin:appstartup。

在我的屏幕上出现在历史上最难看的错误页面上。

enter image description here

我试图按照页面上的说明在配置中插入owin:automaticalpstartup。

1
2
    </add>
        </appSettings>

这并没有解决问题。有什么建议吗?


在web.config中的标记下添加此代码,如下图所示。你的错误就应该消失了。

1
2
3
4
5
6
<configuration>
 
   
  </appSettings>
  ...
</configuration>

Check Image Below


我想在这个项目中摆脱奥文:

  • 从项目中删除owin引用和nuget包
  • 清理和重建项目
  • 运行应用程序
  • 然后我出错了。这些步骤不起作用,因为owin.dll仍在bin/目录中。

    修复:

  • 手动删除bin/目录
  • 改造工程

  • 对于那些想让奥文开始的人来说,是行不通的,但下面的内容对我来说是行不通的。

  • 如果在startup.auth文件中有部分类"startup",请在项目的根目录中创建另一个部分启动类。

  • 定义指向该类的程序集owInstartup属性

  • 创建"配置"方法

  • 重新生成应用程序

  • 您还可以创建"configuration"方法,并将assembly属性添加到startup.auth,但这样做可以通过利用C类定义拆分来保持startup类的分隔。请阅读以下内容:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods

    这就是我的startup.cs文件的外观:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    using Microsoft.Owin;
    using Owin;

    [assembly: OwinStartupAttribute(typeof(ProjectNameSpace.Startup))]

    namespace ProjectNameSpace
    {
        public partial class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                ConfigureAuth(app);
            }
        }
    }


    我缺少属性:

    2

    它指定了启动类。更多细节:https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-startup-class-detection


    在中提到的类中,您可能没有配置方法。

    1
     

    在web.config中添加以下键将删除代码

    1
    </appSettings>


    我收到这个错误是因为代码中有多余的空白

    而不是

    它是


    只是替换

    1
            using (WebApp.Start(url))

    具有

    1
            using (WebApp.Start<Startup>(url))

    解决了我的问题。名为Startup的类已实现。如上文所述,@robthedev


    检查是否选择了正确的启动项目。我启动了一个Web API项目。产生了这个错误。


    只需在web.config中粘贴此代码,而不是在web.config中有两个webconfig,因此请确保它将被粘贴到web.config中。


    检查是否在项目中创建了Startup类。这是一个例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    using Microsoft.Owin;
    using Owin;

    [assembly: OwinStartupAttribute(typeof({project_name}.Startup))]

    namespace AuctionPortal
    {
        public partial class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                ConfigureAuth(app);
            }
        }
    }


    我从不工作的分支中删除了所有的DLL,然后从工作的分支复制了所有的DDL到不工作的分支。这解决了问题。