gpt4 book ai didi

c# - 没有 Owin 的 Asp.Net MVC 5?

转载 作者:IT王子 更新时间:2023-10-29 04:29:47 25 4
gpt4 key购买 nike

Mvc 5 似乎依赖于 Owin,如果您想自行托管或在 Mac 上运行,这非常好。但是假设我只想像以前的版本一样在 IIS 下运行,并且我对 Owin 提供的功能不感兴趣。默认的“空白”mvc5 模板使用 owin 和其他 15 个依赖项。我试过一个一个地删除包,但似乎该站点不知道如何在不使用 Owin 的属性的情况下开始。那么,如何在没有 Owin 的情况下在 iis 下获得 ASP.net、mvc 5?

最佳答案

禁用 Owin 的简单方法在 web.config 中。文件和 <appSettings>部分添加:

<add key="owin:AutomaticAppStartup" value="false" />

要完全删除 Owin,请右键单击您的项目,然后从菜单中单击 Manage Nuget Packages .在 Manage Nuget Packages 的左侧窗口点击Installed Package然后在窗口右侧的搜索框中键入 owin .

enter image description here按以下顺序卸载软件包:

  • microsoft.aspnet.identity.owin
  • microsoft.owin.host.systemweb
  • microsoft.owin.security.cookies
  • microsoft.owin.security.facebook
  • microsoft.owin.security.google
  • microsoft.owin.security.microsoftaccount
  • microsoft.owin.security.twitter

删除microsoft.owin.security.twitter之后其他 owin 包自动删除,如果它没有发生在您的机器上,请自行删除其他包。然后删除这个包:

  • microsoft.aspnet.identity.entityframework
  • microsoft.aspnet.identity.core

打开web.config文件并从 <runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 中删除这些部分:

    <dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>

删除 Startup.cs项目根目录下的文件。打开App_Start folder并删除 IdentityConfig.csStartup.Auth.cs文件。打开Controller folder并删除 AccountController.csManageController.cs .在 Models folder删除所有模型并在 View Folder删除 Account FolderManage folder .

重新启动 Visual Studio,然后运行项目。如果你得到这个错误:

The following errors occurred while attempting to load the app. - No assembly found containing an OwinStartupAttribute. - No assembly found containing a Startup or [AssemblyName].Startup class. To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config. To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config. you have two ways to solve it:

  1. 打开bin folder如果有的话 Owin assembly , 全部删除
  2. 或在 <appSettings> 中打开 web.config部分然后添加此 <add key="owin:AutomaticAppStartup" value="false" />

关于c# - 没有 Owin 的 Asp.Net MVC 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31665196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com