OwinStartupAttributeエラーを含むアセンブリが見つかりません


88

このエラー

アプリを読み込もうとしたときに、次のエラーが発生しました。-OwinStartupAttributeを含むアセンブリが見つかりません。-指定されたタイプまたはメソッド「false」が見つかりませんでした。アセンブリを指定してみてください。OWINスタートアップの検出を無効にするには、web.configに値「false」を指定してappSetting owin:AutomaticAppStartupを追加します。OWINスタートアップアセンブリ、クラス、またはメソッドを指定するには、web.configに完全修飾スタートアップクラスまたは構成メソッド名を指定してappSetting owin:AppStartupを追加します。

私の画面の、これまでに作成された中で最もひどく醜いエラーページに表示されます。

ここに画像の説明を入力してください

構成にowin:AutomaticAppStartupを挿入して、ページの指示に従おうとしました。

 <appSettings >
    <add key="owin:AppStartup" value="false"></add>
        </appSettings>

これは問題を解決しませんでした。助言がありますか?


6
代わりに、それが機能するかどうか<add key="owin:AppStartup" value="false"></add>試してみることができます<add key="owin:AutomaticAppStartup" value="false"></add>か?また、役立つリンクがいくつかあります。OWINスタートアップクラス検出Owinは、web.configでスタートアップクラスを提供します(自動スタートアップ検出なし)
Keyur PATEL 2016

それがトリックでした。また、リソースに感謝します。私の感謝の気持ち@KeyurPATEL。
NVA 2016

2
私はあなたがstartup.csファイルを欠いていると思います
Kurkula

2
Kurkulaは絶対に正しいです。起動時に破棄するためだけにASP.net認証システムをインストールしたわけではありません。プロジェクトのルートにあるstartup.csファイルが完全に欠落しています。このコードをファイルに入れます。-------------Microsoft.Owinを使用します。Owinを使用します。[アセンブリ:OwinStartupAttribute(typeof(YOURPROJECT.Startup))]名前空間YOURPROJECT {パブリック部分クラススタートアップ{publicvoid Configuration(IAppBuilder app){ConfigureAuth(app); }}}
ParasParmar19年

回答:


172

web.config下の<configuration>画像に示すように、このコードをタグの下に追加します。そうすれば、エラーはなくなるはずです。

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

Check Image Below


4
これが解決策です、または少なくともこの解決策は私の問題を解決しました。答えを解決策としてマークしてください。この1は...一番上にあるべき
メイソン

1
おかげで、これはうまくいきましたが、誰かがこの設定値をfalseにすると、私が失っているものを教えてもらえますか?
IKriKan 2018

84

私はプロジェクトでOWINを取り除きたかった:

  1. プロジェクトからOWIN参照とNugetパッケージを削除します
  2. クリーン&リビルドプロジェクト
  3. アプリを実行する

次に、OWINエラーが発生しました。OWIN.dllがまだbin /ディレクトリにあるため、これらの手順は機能しませんでした。

修正:

  1. bin /ディレクトリを手動で削除する
  2. プロジェクトを再構築する

13
-bin

4
以前にSignalRnugetをダウンロードして試しましたが、SignalRnugetによってowinnugetが追加されました。パッケージは削除されましたが、動作させるにはbinフォルダーも削除する必要がありました。
mortb 2017

SignalRをインストールし、作業を中止した後、ここに来ました。ありがとうございました。
John Gerdsen 2017

簡単かつ迅速。私のために働いた
ダッシュ

owinパッケージをアンインストールすることも役立ちます。または、参照から
owinを含むすべてのdllを削除

24

owinを開始したい人にとっては<add key="owin:AutomaticAppStartup" value="false" />、機能しませんが、次のことが私にとってはうまくいきました。

  1. Startup.Authファイルに部分的なクラス「Startup」がある場合は、プロジェクトのルートに別の部分的なStartupクラスを作成します。

  2. そのクラスを指すアセンブリowinstartup属性を定義します

  3. 「構成」メソッドを作成する

  4. アプリケーションを再構築します

「Configuration」メソッドを作成し、Startup.Authにアセンブリ属性を追加することもできますが、この方法で行うと、C#クラス定義の分割を利用してStartupクラスを分離しておくことができます。詳細はこちら:https//docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods

これは私の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);
        }
    }
}

これは私にとってはうまくいきました。プロジェクトの名前にドットが含まれていると、これが発生することに気付きました。したがって、名前空間が「namespace ProjectNameSpace.ApiRest」のようなものである場合は、例のようにアセンブリを定義すると問題が修正されます。
karique



3

コードに余分な空白があったため、このエラーが発生しました

の代わりに

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

そうだった

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


3

プロジェクトでStartupクラスが作成されているかどうかを確認します。これは例です:

using Microsoft.Owin;
using Owin;

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

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

ASP.netIdentityを利用するため。これが解決策です。
ParasParmar19年

2

交換するだけ

        using (WebApp.Start(url))

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

私の問題を解決しました。Startupという名前のクラスはすでに実装されています。@robthedevによって上記のように


2

Web.configに次のキーを追加すると、コードが削除されます

<appSettings>

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

1

正しいスタートアッププロジェクトが選択されていることを確認してください。私はスタートアップとしてWebAPIプロジェクトを持っていました。これにより、このエラーが発生しました。


1

この投稿は古いことは知っていますが、誰かが同じエラーを探している場合に備えて、追加してみてください

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

タグの後 <appSettings>

その後、次のエラーが表示された場合:

HTTPエラー401.0-許可されていないエラーメッセージ

タグの後に次のコードを追加し<system.web>、それは最初にすることができ

<authentication mode="Forms"> <forms loginUrl="~/YourFolderName/yourFileName" timeout="1" /> </authentication>

私の場合は:

<authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="1" /> </authentication>


0

動作していないブランチからすべてのDLLを削除してから、動作していたブランチから動作していないブランチにすべてのDDlをコピーしました。これで問題は解決しました。


0

このコード<add key="owin:AutomaticAppStartup" value="false" /> をWeb.configに貼り付けるだけ です。web.configには2つのwebconfigがあるので、必ずWeb.Configに貼り付けてください。


0

Signalrを使用する場合は、プロジェクトにstartup.csクラスを追加する必要があります

プロジェクトを右クリックし、新しいアイテムを追加して選択します OWINスタートアップクラスをます

次に、構成メソッド内で以下にコードを追加します

app.MapSignalR();

お役に立てば幸いです


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);
        }
    }
}

0

Azureにデプロイしていて、このエラーが発生した場合。サイト上のすべてのファイルを削除し(web.config、appsettings.json、または失いたくないものをバックアップします)、再度デプロイします。サイトに配置してはならないdllファイルが残っているため、AzureポータルはOWINを使用する必要があると考えています。


0

以下のコードを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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.