Ich versuche, AP.Net-Mitgliedschaft zu meiner Datenbank hinzuzufügen. Ich hatte in der Vergangenheit Erfolg damit, also habe ich eine Vorstellung davon, was ich mache. Mein Projekt ist eine VB.Net-Website mit Framework 4.5.2. Ich habe asp_regsql.exe in Framework 4 verwendet, um das Schema zu meiner Datenbank hinzuzufügen. Ich habe die folgenden web.config Einträge (pro MSDN-Artikel):Fehler bei ASP.Net-Mitgliedschaft CREATE DATABASE ist fehlgeschlagen. Einige der aufgeführten Dateinamen konnten nicht erstellt werden. Überprüfen Sie die zugehörigen Fehler
<connectionStrings>
<add name="AFKMSConnectionString" providerName="System.Data.SqlClient" connectionString="working as intended" />
<system.web>
<authentication mode="Forms" >
<forms loginUrl="Account/Login.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<!--<authorization>
<deny users="?" />
</authorization>-->
<compilation debug="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
<pages>
<namespaces>
<add namespace="System.Web.Optimization"/>
<add namespace="Microsoft.AspNet.Identity"/>
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
</controls>
</pages>
<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add
name="SqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
<profile enabled ="true" defaultProvider="SqlProvider">
<providers>
<clear />
<add name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"
description="SqlProfileProvider for SampleApplication" />
</providers>
</profile>
<roleManager enabled ="true"
defaultProvider ="SqlRoleProvider" >
<providers>
<clear/>
<add name ="SqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"/>
</providers>
</roleManager>
Meine Verbindungszeichenfolge funktioniert für meine aktuellen Funktionen, aber wenn ich versuche, um einen Benutzer registrieren ich die folgende Fehlermeldung erhalten:
Directory lookup for the file "C:\Users\Dan\Source\Repos\AFKMS\AFKMS\App_Data\aspnet-AFKMS-140073d4-6858-4f19-9555-0edfbaadd43a.mdf" failed with the operating system error 2(The system cannot find the file specified.). CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
Das kommt von Konten/Register,
Dim result = manager.C reate (user, Password.Text)
Warum versucht es eine Datenbank zu erstellen? Wie sieht es aus, dass ich vermisse?
Sie haben keine Verbindungszeichenfolge in Ihrer 'web.config'. Die Konfigurationsabschnitte der Mitgliedschafts- und Rollenanbieter beziehen sich auf eine Verbindungszeichenfolge, sie ist jedoch nicht vorhanden. @ Ahmeds Antwort ist richtig. –
Ich habe die Verbindungszeichenfolge für mein Zitat weggelassen. Es funktioniert für alle anderen Anwendungsfunktionen, die ich derzeit habe. –
Ich denke, der Standard für eine ASP.Net 4.5.2-Anwendung ist wahrscheinlich Identity Framework 2.0, nicht das ältere Membership Framework, daher der Grund, warum es Ihre Verbindungszeichenfolgen nicht verwendet. –