2009-06-26 12 views
8

OkJak zatrzymać web.config dziedziczenie

Mam ASP .NET 3.5 Strona internetowa w IIS6 na Windows Server 2003 (32-bitowej).

z aplikacją WWW Asp.Net 1.1 w podrzędnym katalogu wirtualnym. (Jest to ustawione na korzystanie ze starszego środowiska wykonawczego 1.1 .NET i jest skonfigurowane z własną pulą aplikacji, więc dla wszystkich zamiarów i celów jest całkowicie oddzielne:

Z wyjątkiem utrzymania odziedziczonej strony głównej .net 3.5 web.config.

próbowałem dodanie

<location path="." inheritInChildApplications="false"> 

do web.config stron korzeniowe, ale nie wydają się działać.

dziwne błąd jest rzeczywiście

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 

która jest zgłaszana ze środowiska .net 1.1 ze ścieżką witryny WEBSITE/OLD_WEBAPP, ale narzeka na webSite (jak w .net 3.5) web.config i jak nie rozumie atrybutu type na tagu sectionGroup.

Co robię źle? Powiedz mi, że to coś oczywistego. Dzięki

Odpowiedz

4

Po prostu, aby wszyscy wiedzieli, znalazłem odpowiedź, która służy moim celom na teraz.

skończyło się na umieszczenie wszystkich konfiguracji w globalnym web.config

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 

.net 2.0 Mam tę sugestię z tym komentarzem na connect.microsoft.com

systemów konfiguracji zarówno dla ASP.NET 1.1 i 2.0 są hierarchiczne. W rezultacie, jeśli inna wersja framework jest dzieckiem z głównej strony (która zwykle jest inetpub \ wwwroot), wówczas system konfiguracyjny w podrzędnym będzie próbował scalić konfigurację ze strony głównej. Takie zachowanie jest zgodne z projektem, ponieważ oba systemy konfiguracyjne 1.1 i 2.0 podchodzą do fizycznej struktury katalogów, szukając nadrzędnego pliku web.configs.

Prostym rozwiązaniem jest przeniesienie wspólnej informacji o konfiguracji 2.0 do głównego pliku web.config dla struktury 2.0. Główny plik web.config znajduje się pod adresem: C: \ windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG. Dzięki takiemu podejściu wszystkie aplikacje 2.0 będą przechwytywać wspólne sekcje , podczas gdy aplikacje 1.1 nie będą wyświetlały sekcji w postaci .

Dziękujemy za przesłanie tego problemu. Mam nadzieję, że powyższe informacje są dla Ciebie przydatne .

Wysłany przez Microsoft w dniu 22/02/2008 w 17:35

wydaje się działać dla mnie, choć to nie jest aż tak eleganckie, jak gdyby była aplikacji .NET 2.0. Mam nadzieję, że to pomoże komuś innemu.

Dan

8
<location path="." inheritInChildApplications="false"> 
    <system.web> 
    ... 
    </system.web> 
</location> 
+0

Upewnij się również, że utworzyłeś "Katalog wirtualny" dla podfolderów w ramach IIS. –

+1

Działa to tylko wtedy, gdy rodzic i dziecko są aplikacjami .NET 2.0. –

+2

... i tylko robi różnicę, jeśli jest to coś wewnątrz systemu.web, które powoduje problemy. Pytanie powiedziało, że wpisuje element sectionGroup do błędu, który nie zostanie przez to rozwiązany. –