C# 未找到包含OwinStartupAttribute错误的程序集
这个错误 尝试加载应用程序时发生以下错误。 -未找到包含OwinStartupAttribute的程序集。 -找不到给定的类型或方法“false”。尝试指定程序集。 要禁用OWIN启动发现,请在web.config中添加值为“false”的appSetting OWIN:AutomaticAppStartup。 要指定OWIN启动程序集、类或方法,请在web.config中添加具有完全限定的启动类或配置方法名称的appSetting OWIN:AppStartup 出现在我的屏幕上有史以来最难看的错误页面 我试图按照页面上的说明在配置中插入owin:AutomaticAppStartupC# 未找到包含OwinStartupAttribute错误的程序集,c#,web-config,owin,.net-assembly,C#,Web Config,Owin,.net Assembly,这个错误 尝试加载应用程序时发生以下错误。 -未找到包含OwinStartupAttribute的程序集。 -找不到给定的类型或方法“false”。尝试指定程序集。 要禁用OWIN启动发现,请在web.config中添加值为“false”的appSetting OWIN:AutomaticAppStartup。 要指定OWIN启动程序集、类或方法,请在web.config中添加具有完全限定的启动类或配置方法名称的appSetting OWIN:AppStartup 出现在我的屏幕上有史以来最难看
<appSettings >
<add key="owin:AppStartup" value="false"></add>
</appSettings>
这并没有解决问题。有什么建议吗?在
标记下的web.config
中添加此代码,如下图所示。你的错误就应该消失了
<configuration>
<appSettings>
<add key="owin:AutomaticAppStartup" value="false" />
</appSettings>
...
</configuration>
检查是否选择了正确的启动项目。我启动了一个web api项目。这就产生了这个错误。我想在项目中去掉OWIN:
从项目中删除OWIN引用和Nuget包
清洁与重建项目
运行应用程序
然后我错了。
这些步骤不起作用,因为OWIN.dll仍在bin/目录中
修复:
手动删除bin/目录
重建项目
在中提到的类中可能没有配置方法
<appSettings>
<add key="owin:AppStartup" value="WebApplication1.App_Start.Startup"/>
我缺少以下属性:
[assembly: OwinStartupAttribute(typeof(projectname.Startup))]
它指定启动类。更多详情:
对于那些希望owin启动的人,
这就是我的Startup.cs文件的样子:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(ProjectNameSpace.Startup))]
namespace ProjectNameSpace
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
我得到这个错误是因为代码中有额外的空白
而不是
是
我删除了分支中所有不工作的DLL,然后将分支中所有工作的DDL复制到不工作的分支。这就解决了问题。只需更换
using (WebApp.Start(url))
与
使用(WebApp.Start(url))
解决了我的问题。名为Startup的类已实现。如上所述,@robthedev检查您是否在项目中创建了启动类。这是一个例子:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof({project_name}.Startup))]
namespace AuctionPortal
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
只需将此代码粘贴到Web.config中,而不是Web.config中有两个webconfig,因此请确保它将被粘贴到Web.config中。在Web.config中添加以下键将删除此代码
<appSettings>
<add key="owin:AutomaticAppStartup" value="false" />
</appSettings>
如果您想使用信号器
您必须在项目中添加startup.cs类
在项目中单击鼠标右键,然后添加新项目,然后在启动类中选择
然后在配置方法中添加下面的代码
app.MapSignalR();
我希望这篇文章对你有用我知道这篇文章很旧,但万一有人发现同样的错误,请尝试添加
<add key="owin:AutomaticAppStartup" value="false"></add>
在标签
如果之后出现下一个错误:
HTTP错误401.0-未经授权的错误消息
在标签后添加下一个代码
可以在开头
就我而言:
使用下一个代码将类Startup.cs添加到项目根目录:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(ProjectName.Startup))]
namespace ProjectName
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
如果部署到Azure,您将收到此错误。只需删除站点上的所有文件(备份任何web.config、appsettings.json或您不想丢失的文件),然后重新部署。网站上有一些不应该存在的剩余dll文件,这使Azure门户认为需要使用OWIN。将以下代码添加到web.config文件中,然后运行项目
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
</runtime>
我的案例需要owin启动类。
添加新项>OWIN Startup Class>Name Startup.cs我在Visual Studio 2019 V 16.10.2中发现了一个错误,当您的项目名称中有一个空格时,会引发此错误。要解决此问题,必须在web.config->appSettings部分显式设置启动类路径:
<add key="owin:AppStartup" value="ABC_DEF.Startup"/>
而不是,这就成功了。也谢谢你提供的资源。我的感谢@KeyurPATEL。我想你错过了startup.cs fileKurkula是绝对正确的。安装ASP.net身份验证系统并不是为了在启动时将其丢弃。您完全缺少项目根目录下的startup.cs文件。将此代码放入文件。-------------使用Microsoft.Owin;使用Owin;[assembly:OwinStartupAttribute(typeof(YOURPROJECT.Startup))]命名空间YOURPROJECT{public partial class Startup{public void Configuration(IAppBuilder app){ConfigureAuth(app);}}}lol-删除bin和obj文件夹始终是解决奇怪的依赖性错误的方法。我以前下载并尝试过SignalR nuget,而SignalR nuget又添加了owin nuget。软件包已被删除,但我还必须删除bin文件夹才能使其正常工作。在安装Signal并中止奋进后,我来到这里。谢谢,简单又快速。为Meowin工作卸载包也会有帮助,或者从引用中删除所有带有owin的DLL也会有帮助这就是解决方案,或者至少这个解决方案解决了我的问题。请将答案标记为解决方案。这一个应该在顶部…谢谢,这起作用了,但是有人能告诉我,通过将这个设置值设为false,我失去了什么吗?这对我起作用了,我意识到这发生在项目名称中有一个点时。因此,如果名称空间类似于“namespace ProjectNameSpace.ApiRest”,那么定义一个类似于示例中的程序集可以解决问题。F
<add key="owin:AppStartup" value="ABC_DEF.Startup"/>