J'ai copié un projet précédent et l'ai renommé. Une fois, j'ai renommé avec succès tous les espaces de noms et la construction est correcte. J'ai eu l'erreur suivante quand j'ai exécuté l'application:
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.
J'ai compris que si je commentais la première ligne ci-dessous, l'erreur disparaîtrait.
//[Assembly: OwinStartupAttribute(typeof(Service_Monitor_Web_Interface.Startup))]
namespace Service_Monitor_Web_Interface
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
J'ai renommé ma solution User_Manager_Interface en Service_Monitor_Web_Interface.
Je n'arrive pas à trouver des endroits avec l'ancien nom, quelle que soit l'erreur qu'il mentionne.
J'ai déjà eu ce problème à quelques reprises, je vais donc écrire la procédure que je suis aussi pour me rappeler:
Ce problème se produira si vous avez deux assemblys dans le même dossier bin qui contiennent une classe OwinStartup. Normalement, vous ne devriez pas avoir deux classes OwinStartup pour la même application Web.
Vous pouvez résoudre ce problème en inspectant votre dossier bin. Si, après avoir renommé, un ensemble avec l'ancien nom est resté dans le dossier bin, vous obtiendrez cette erreur. Pour le résoudre, supprimez tout du dossier bin.
Je rencontrais le même problème après avoir renommé l’Assemblée de la solution.
J'ai résolu le problème en m'assurant que OwinStartupAttritbute se réfère à mon nouveau nom d'assembly.
Suivant consiste à supprimer l'ancien assemblage trouvé dans le dossier bin.
Je n'ai pas renommé ma solution, mais j'ai rencontré ce problème. Je n'ai trouvé aucune solution à ce sujet. J'ai eu 2 projets distincts avec une classe de démarrage owin sur le même serveur. J'ai simplement donné à chacun un "nom convivial" différent, comme suggéré dans le message d'exception, et le problème a été résolu. J'ai trouvé un bon article à ce sujet:
Pour le renommer, tout ce que vous avez à faire est d’ajouter une chaîne dans le OwinStartup comme ceci:
[Assembly: OwinStartup ("ProductionConfiguration", typeof (StartupDemo.ProductionStartup2))]]
Ajouter la balise suivante sur la configuration d'applications Web
<appSettings>
<add key="owin:AutomaticAppStartup" value="false" />
</appSettings>
J'ai deux ASP .NET MVC 5 projets, Project1 et Project2.
Le problème est que la DLL de deux projets se trouve dans le même dossier bin et que les deux utilisent le middleware Owin. Cela signifie que Project1.dll et Project2.dll existent dans le même dossier bin de Project2.
Comme je n'ai besoin que d'un seul d'entre eux dans chaque projet, je supprime donc le fichier Project1.dll inutilisé du dossier bin de Project2.