sekcja zarejestrowana jako allowDefinition = 'MachineToApplication' poza warstwą aplikacji


Po dodaniu hydrauliki z System.Data.Entity do mojej konfiguracji internetowej otrzymałem ten błąd:
Używanie sekcji zarejestrowanej jako allowDefinition = 'MachineToApplication' poza warstwą aplikacji jest błędem. Ten błąd może być spowodowany tym, że katalog wirtualny nie jest skonfigurowany jako aplikacja w usługach IIS.
Usunąłem foldery obj i bin, usunąłem wiersz authentication = "windows", próbowałem otworzyć ponownie, ponieważ niektórzy twierdzili, że działa, sprawdziłem czy jest tylko 1 web.config w głównym folderze (Entity Framework - folder na formularze , modele, DAL i BLL) ...
Jakie inne powody tak się stanie? Szukałem wszędzie i są to głównie powyższe powody, które znalazłem ....
To jest mój web.config, jeśli ma to znaczenie:
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
<add name="CStringVKB" connectionString="Data Source=.;Initial Catalog=VKB;Persist Security Info=True;User ID=websiteservice;Password=websiteservice" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" optimizeCompilations="true" targetFramework="4.0" >
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
<!--<authentication mode="Windows">
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>-->
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

Co mogę zrobić, aby rozwiązać ten problem?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zasadniczo błąd oznacza, że ​​w jednym z podfolderów znajduje się plik web.config, który zawiera element konfiguracji, którego nie powinien mieć. Czy to jest twój główny/jedyny plik konfiguracyjny sieci? Jeśli nie, czy możesz je również opublikować?
Poza tym brzmi to głupio, ale dwukrotnie sprawdziłbym, czy otwierasz samą witrynę w swoim IDE (i nie otwierasz przez pomyłkę folderu nadrzędnego). nie w odpowiednim katalogu.
Oto dobre wyjaśnienie, w jaki sposób hierarchia web.config jest skonfigurowana dla ASP, aby pomóc Ci zwizualizować, jak to działa:

http://scottonwriting.net/sowb ... .aspx
http://scottonwriting.net/sowb ... .aspx
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Najwyraźniej moje rozwiązanie miało dwa pliki web.config. Używam MVC4 i w sekcji Widoki był inny plik konfiguracyjny i wprowadzałem zmiany w niewłaściwym pliku. Naprawienie go tam pomogło.
Ale zawsze możesz zmienić domyślne przekierowanie/trasę w pliku global.asax.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Cytuj Chris Noreikis jest w zasadzie poprawny. Brakuje jednak ważnego szczegółu. Jeśli z jakiegoś powodu otworzysz projekt/rozwiązanie w innej wersji VS niż pierwotnie skompilowana, VS spróbuje przeprowadzić migrację. Czasami podczas migracji VS tworzy folder o nazwie „kopia zapasowa” lub „kopia zapasowa _ {#}”. Nawet jeśli anulujesz

oczekujące zmiany
, te katalogi pozostaną.
Obecność tych katalogów w niektórych przypadkach (takich jak mój) jest przyczyną tego błędu. Usunięcie tych katalogów rozwiąże problem.
Mam nadzieję, że zaoszczędzi to komuś niezliczonych godzin, które zmarnowałem na ten problem.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się