以前のプロジェクトをコピーし、名前を変更しました。すべての名前空間の名前を変更すると、正しくビルドされます。アプリケーションを実行すると、次のエラーが表示されました。
The following errors occurred while attempting to load the app.
- The OwinStartup attribute discovered in Assembly 'User Manager Interface' referencing startup type 'User_Manager_Interface.Startup' conflicts with the attribute in Assembly 'Service Monitor Web Interface' referencing startup type 'Service_Monitor_Web_Interface.Startup' because they have the same FriendlyName ''. Remove or rename one of the attributes, or reference the desired type directly.
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.
下の最初の行をコメントアウトすると、エラーがなくなることがわかりました。
//[Assembly: OwinStartupAttribute(typeof(Service_Monitor_Web_Interface.Startup))]
namespace Service_Monitor_Web_Interface
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
ソリューションの名前をUser_Manager_InterfaceからService_Monitor_Web_Interfaceに変更しました。
私は古い名前の場所を見つけることができないようです。
私はすでにこの問題を数回抱えていたので、自分自身へのリマインダーとしても従う手順を書き留めます。
この問題は、ObinStartupクラスを含む2つのアセンブリが同じbinフォルダーにある場合に発生します。通常、同じWebアプリケーションに対して2つのOwinStartupクラスを使用しないでください。
これを解決するには、binフォルダーを調べます。名前を変更した後、古い名前のアセンブリがbinフォルダーに残っている場合、このエラーが発生します。それを解決するには、binフォルダーからすべてを削除します。
ソリューションのアセンブリの名前を変更した後、私は同じ問題を抱えていました。
OwinStartupAttritbuteが新しいアセンブリ名を参照していることを確認して解決しました。
次に、binフォルダーにある古いアセンブリを削除します。
ソリューションの名前は変更しませんでしたが、この問題に遭遇しました。私はこれについてどこでも掲示される解決策を見つけることができませんでした。同じサーバー上にowinスタートアップクラスを持つ2つの個別のプロジェクトがありました。例外メッセージで提案されているように、それぞれに異なる「フレンドリ名」を付けるだけで解決しました。これに関する良い記事を見つけました。
名前を変更するには、OwinStartupに文字列を追加するだけです。
[アセンブリ:OwinStartup( "ProductionConfiguration"、typeof(StartupDemo.ProductionStartup2))]]
Web config appsettingに次のタグを追加します
<appSettings>
<add key="owin:AutomaticAppStartup" value="false" />
</appSettings>
2つのASP .NET MVC 5プロジェクト、Project1とProject2があります。
問題は、2つのプロジェクトのDLLが同じbinフォルダーにあり、両方がOwinミドルウェアを使用していることです。これは、Project1.dllとProject2.dllが同じbinフォルダーに存在することを意味しますプロジェクト2。
各プロジェクトで必要なのはいずれか1つだけなので、Project2のbinフォルダーにある未使用のProject1.dllを削除するだけです。