Microsoft .NET-keretrendszer 4 – Fontos fájl

A jelen Fontos fájl legújabb verziójának eléréséhez kattintson ide.

1. Rendszerkövetelmények

1.1. Támogatott architektúrák

1.2. Támogatott operációs rendszerek

1.3. Hardverkövetelmények

1.4. Egyéb rendszerkövetelmények

2. Ismert problémák

2.1. Telepítés

2.1.1. A teljes keretrendszer (Telepítés)

2.1.1.1. A „System.ServiceModel.Activation.HttpModule” modul nem tölthető be a .NET-keretrendszer 3.5-ös verziójának módosítása után, ha telepítve van a .NET-keretrendszer 4.

Ez a probléma az alábbi helyzetekben fordulhat elő:

A teljes hibaüzenet a következő:

A(z) „System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” szerelvény „System.ServiceModel.Activation.HttpModule” típusa nem tölthető be.

Leírás: Nem kezelt kivétel következett be az aktuális webes kérelem végrehajtása során. A hibára és az azt okozó kódrészletre vonatkozó adatok az alábbi veremkivonatban találhatók.

A probléma elhárítása:

2.1.1.2. A .NET-keretrendszer 4 2. bétaverziójának eltávolítása után nem használt „isapiCgiRestriction” bejegyzések maradnak az applicationHost.config fájlban Windows Vista, Windows Server 2008 és Windows 7 rendszeren.

Egy olyan számítógépen, amelyen engedélyezve van az IIS 7 vagy az IIS 7.5 futása, és amelyen telepítve van a .NET-keretrendszer 4, a 2. bétaverzió eltávolítása után nem használt „isapiCgiRestriction” bejegyzések maradnak az applicationHost.config fájlban. Ez a probléma csak Windows Vista, Windows Server 2008 és Windows 7 operációs rendszeren fordul elő. A nem használt bejegyzések nincsenek hatással a webkiszolgáló működésére. A .NET-keretrendszer 4 későbbi kiadásai nyugodtan telepíthetők ugyanarra a számítógépre, mert az egymást követő telepítések frissítik az „isapiCgiRestriction” bejegyzéseket.

A probléma elhárítása:

Törölje a nem használt „isapiCgiRestriction” bejegyzéseket az applicationHost.config fájlból. Ez a lépés azonban nem feltétlenül szükséges, mert az eltávolítás után megmaradt bejegyzések nincsenek hatással a termék működésére, illetve a későbbi kiadások telepítésére.

2.1.1.3. A .NET-keretrendszer 1.0-s verziója nem telepíthető a .NET-keretrendszer 4 telepítése után.

A .NET-keretrendszer 1.0-s verziója nem telepíthető a .NET-keretrendszer 4 telepítése után. A .NET-keretrendszer 1.0-s verzióját a .NET-keretrendszer 4 telepítése előtt kell telepíteni.

A probléma elhárítása:

  1. Nyissa meg a Vezérlőpultot, majd a Programok és szolgáltatások párbeszédpanelt.
  2. Távolítsa el a Kiterjesztett .NET-keretrendszer 4 terméket.
  3. Távolítsa el a .NET-keretrendszer 4-es verziójához készült ügyfélprofilt.
  4. Telepítse a .NET-keretrendszer 1.0-s verzióját.
  5. Telepítse a .NET-keretrendszer 4-es verzióját.

2.1.1.4. A .NET-keretrendszer 4 telepítője nem telepítette a terméket.

A .NET-keretrendszer 4 telepítője nem telepítette a terméket.

A probléma elhárítása:

Tekintse át a .NET-keretrendszer 4 telepítőjének hibaelhárítási útmutatóját (http://go.microsoft.com/fwlink/?LinkId=186690).

2.1.1.5. A Windows Presentation Foundation (WPF) 4 betűkészlet-gyorsítótárazási szolgáltatása nem lesz teljesen eltávolítva a .NET-keretrendszer 4 (a teljes keretrendszer) eltávolításakor.

A Windows Presentation Foundation (WPF) 4 betűkészlet-gyorsítótárazási szolgáltatása nem lesz teljesen eltávolítva a .NET-keretrendszer 4 (a teljes keretrendszer) eltávolításakor.

Megjegyzés: Ez a probléma mind a .NET-keretrendszer teljes verzióját, mind az ügyfélprofilos verziót érinti.

A probléma elhárítása:

  1. Nyisson meg egy parancssori ablakot rendszergazdai módban.
  2. Írja be a következőt:      sc delete WPFFontCache_v0400

Ekkor meg kell jelennie az „[SC] DeleteService SUCCESS” üzenetnek.

A szolgáltatási konzol frissítése után a betűkészlet-gyorsítótárazási szolgáltatásnak már nem szabadna megjelennie. Ha ezzel a frissítéssel nem hárítható el a probléma, indítsa újra a számítógépet.

2.1.2. Ügyfélprofil (Telepítés)

2.1.2.1. A .NET-keretrendszer 1.0-s verziója nem telepíthető a .NET-keretrendszer 4 ügyfélprofiljának telepítése után.

A .NET-keretrendszer 1.0-s verziója nem telepíthető a .NET-keretrendszer 4 ügyfélprofiljának telepítése után. A .NET-keretrendszer 1.0-s verzióját a .NET-keretrendszer 4 ügyfélprofiljának telepítése előtt kell telepíteni.

A probléma elhárítása:

  1. Nyissa meg a Vezérlőpultot, majd a Programok és szolgáltatások párbeszédpanelt.
  2. Távolítsa el a .NET-keretrendszer 4-es verziójához készült ügyfélprofilt.
  3. Telepítse a .NET-keretrendszer 1.0-s verzióját.
  4. Telepítse el a .NET-keretrendszer 4-es verziójához készült ügyfélprofilt.

2.1.2.2. A Windows Presentation Foundation (WPF) 4 betűkészlet-gyorsítótárazási szolgáltatása nem lesz teljesen eltávolítva a .NET-keretrendszer 4 (az ügyfélprofil) eltávolításakor.

A Windows Presentation Foundation (WPF) 4 betűkészlet-gyorsítótárazási szolgáltatása esetleg nem lesz teljesen eltávolítva a .NET-keretrendszer 4 eltávolításakor. 

Bár az eltávolítás után a WPF betűkészlet-gyorsítótárazási szolgáltatása már nem használható, a „Windows Presentation Foundation betűkészlet-gyorsítótár 4.0.0.0” szolgáltatásbejegyzés továbbra is látható a szolgáltatási konzolon.

Windows Vista és Windows Server 2008 rendszeren a szolgáltatási konzol „Leírás” mezőjében a következő üzenet olvasható: „<A leírás olvasása nem sikerült. Hibakód: 2>”. Windows XP és Windows Server 2003 rendszeren a „Leírás” mezőben a helyes karakterlánc olvasható.

A probléma a .NET-keretrendszer újratelepítésével elhárítható. Nincs egyéb ismert hatás.

Megjegyzés: Ez a probléma mind a .NET-keretrendszer teljes verzióját, mind az ügyfélprofilos verziót érinti.

A probléma elhárítása:

  1. Nyisson meg egy parancssori ablakot rendszergazdai módban.
  2. Írja be a következőt:      sc delete WPFFontCache_v0400

Ekkor meg kell jelennie az „[SC] DeleteService SUCCESS” üzenetnek.

A szolgáltatási konzol frissítése után a betűkészlet-gyorsítótárazási szolgáltatásnak már nem szabadna megjelennie. Ha ezzel a frissítéssel nem hárítható el a probléma, indítsa újra a számítógépet.

2.1.2.3. A .NET-keretrendszer 4 ügyfélprofiljának telepítője nem telepítette a terméket.

A .NET-keretrendszer 4 ügyfélprofiljának telepítője nem telepítette a terméket.

A probléma elhárítása:

Tekintse át a .NET-keretrendszer 4 telepítőjének hibaelhárítási útmutatóját (http://go.microsoft.com/fwlink/?LinkId=186690).

2.2. Eltávolítás

2.2.1. A teljes keretrendszer (Eltávolítás)

2.2.1.1. A .NET-keretrendszer 4 2. bétaverziójának eltávolítása után nem használt „isapiCgiRestriction” bejegyzések maradnak az applicationHost.config fájlban Windows Vista, Windows Server 2008 és Windows 7 rendszeren.

Egy olyan számítógépen, amelyen engedélyezve van az IIS 7 vagy az IIS 7.5 futása, és amelyen telepítve van a .NET-keretrendszer 4, a 2. bétaverzió eltávolítása után nem használt „isapiCgiRestriction” bejegyzések maradnak az applicationHost.config fájlban. Ez a probléma csak Windows Vista, Windows Server 2008 és Windows 7 operációs rendszeren fordul elő. A nem használt bejegyzések nincsenek hatással a webkiszolgáló működésére. A .NET-keretrendszer 4 későbbi kiadásai nyugodtan telepíthetők ugyanarra a számítógépre, mert az egymást követő telepítések frissítik az „isapiCgiRestriction” bejegyzéseket.

A probléma elhárítása:

Törölje a nem használt „isapiCgiRestriction” bejegyzéseket az applicationHost.config fájlból. Ez a lépés azonban nem feltétlenül szükséges, mert az eltávolítás után megmaradt bejegyzések nincsenek hatással a termék működésére, illetve a későbbi kiadások telepítésére.

2.2.1.2. A WPF 4.0 betűkészlet-gyorsítótárazási (FontCache) szolgáltatása nem lesz teljesen eltávolítva a .NET-keretrendszer 4 (a teljes keretrendszer) eltávolításakor.

Az elárvult FontCache szolgáltatás teljes eltávolítása a következőképpen lehetséges:

  1. Nyisson meg egy parancssori ablakot rendszergazdai módban.
  2. Írja be a következőt:      sc delete WPFFontCache_v0400

Ekkor meg kell jelennie a következő üzenetnek: „[SC] DeleteService SUCCESS”.

A szolgáltatási konzol frissítése után a FontCache bejegyzésnek már nem szabadna megjelennie. Ha a probléma a szolgáltatási konzol frissítésével nem hárult el, szükség lehet a számítógép újraindítására.

(Megjegyzés: A jelen probléma a teljes keretrendszerre vonatkozik, és másolata a Fontos fájlban említett 877240-es számú problémának, amely az ügyfélprofilra vonatkozik .)

A probléma elhárítása:

Az elárvult FontCache szolgáltatás teljes eltávolítása a következőképpen lehetséges:

  1. Nyisson meg egy parancssori ablakot rendszergazdai módban.
  2. Írja be a következőt:      sc delete WPFFontCache_v0400

Ekkor meg kell jelennie a következő üzenetnek: „[SC] DeleteService SUCCESS”.

A szolgáltatási konzol frissítése után a FontCache bejegyzésnek már nem szabadna megjelennie. Ha a probléma a szolgáltatási konzol frissítésével nem hárult el, szükség lehet a számítógép újraindítására.

2.2.2. Ügyfélprofil (Eltávolítás)

2.2.2.1. A WPF 4.0 betűkészlet-gyorsítótárazási (FontCache) szolgáltatása nem lesz teljesen eltávolítva a .NET-keretrendszer 4 (az ügyfélprofil) eltávolításakor.

A WPF betűkészlet-gyorsítótárazási szolgáltatása esetleg nem lesz megfelelően eltávolítva, amikor Vista/XP/W2k3/W2k8 rendszeren eltávolítja a .NET-keretrendszer 4-es verzióját. 

Bár az eltávolítás után a WPF betűkészlet-gyorsítótárazási szolgáltatása már nem használható, a „Windows Presentation Foundation betűkészlet-gyorsítótár 4.0.0.0” szolgáltatásbejegyzés továbbra is látható marad a szolgáltatási konzolon.

Vista és W2k8 rendszeren a szolgáltatási konzol „Leírás” mezőjében a következő üzenet olvasható: „<A leírás olvasása nem sikerült. Hibakód: 2>”. XP és W2k3 rendszeren a „Leírás” mezőben a helyes karakterlánc olvasható.

A probléma a keretrendszer újratelepítésével elhárítható. Nincs egyéb ismert hatás.

Megjegyzés: Ez a probléma mind a .NET-keretrendszer 4 teljes verzióját, mind az ügyfélprofilos verziót érinti.

A probléma elhárítása:

Az elárvult FontCache szolgáltatás teljes eltávolítása a következőképpen lehetséges:

  1. Nyisson meg egy parancssori ablakot rendszergazdai módban.
  2. Írja be a következőt:      sc delete WPFFontCache_v0400

Ekkor meg kell jelennie a következő üzenetnek: „[SC] DeleteService SUCCESS”.

A szolgáltatási konzol frissítése után a FontCache bejegyzésnek már nem szabadna megjelennie. Ha a probléma a szolgáltatási konzol frissítésével nem hárult el, szükség lehet a számítógép újraindítására.

(Megjegyzés: A jelen probléma az ügyfélprofilra vonatkozik, és másolata a Fontos fájlban említett 888322-es számú problémának, amely a teljes keretrendszerre vonatkozik.) 

2.3. A termékkel kapcsolatos problémák

2.3.1. Általános problémák

2.3.1.1. A ClickOnce közzététel nem működik az újraterjeszthető nyelvi csomagok nem megfelelő elhelyezése miatt.

Buildkészítési hiba történhet, ha a Visual Studio 2010 egyszerűsített kínai vagy hagyományos kínai verzióját használja egy alkalmazás közzétételéhez, és bejelöli az Előfeltételek párbeszédpanelen látható „Az előfeltételek letöltése az alkalmazással egyező helyről” jelölőnégyzetet, majd kijelöli a következő összetevők bármelyikét előfeltételként:

  1. Microsoft .NET-keretrendszer 4 (x86 és x64)
  2. Ügyfélprofil a Microsoft .NET-keretrendszer 4-es verziójához (x86 és x64)
  3. Microsoft Visual F# futtatókörnyezet a .NET-keretrendszer 2.0-s verziójához
  4. Microsoft Visual F# futtatókörnyezet a .NET-keretrendszer 4-es verziójához

A következő buildkészítési hibaüzenet jelenik meg az „Ügyfélprofil a Microsoft .NET-keretrendszer 4-es verziójához (x86 és x64)” esetén:

„MSB3152: Az előfeltételek telepítési helye nem lett beállítva a komponens szállítójának webhelyére, és a(z) „Ügyfélprofil a Microsoft .NET-keretrendszer 4-es verziójához (x86 és x64)” elemben szereplő „DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe” fájl nem található a lemezen. További információ a súgóban olvasható.”

A probléma elhárítása:

    Az egyszerűsített kínai verzió esetén kövesse az alábbi lépéseket a probléma elhárításához:

  1. Lépjen a „%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client” mappára. Az x64 architektúrájú operációs rendszerek esetén az elérési út a „%ProgramFiles(x86)%” mappában található.
  2. Másolja a zh-Hans mappa tartalmát egy zh-chs nevű új mappába.
  3. Lépjen a zh-chs mappára.
  4. Nyissa meg a Package.xml fájlt rendszergazdai módban.
  5. Módosítsa a >Culture< elem értékét zh-chs értékre a következőképpen:
  6. <String Name="Culture">zh-chs</String>

    A hagyományos kínai verzió esetén kövesse az alábbi lépéseket a probléma elhárításához:

  1. Lépjen a „%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client” mappára. Az x64 architektúrájú operációs rendszerek esetén az elérési út a „%ProgramFiles(x86)%” mappában található.
  2. Másolja a zh-Hant mappa tartalmát egy zh-cht nevű új mappába.
  3. Lépjen a zh-cht mappára.
  4. Nyissa meg a Package.xml fájlt rendszergazdai módban.
  5. Módosítsa a >Culture< elem értékét zh-cht értékre a következőképpen:
  6. <String Name="Culture">zh-cht</String>

2.3.1.2. A ClickOnce alkalmazás nem a megfelelő újraterjeszthető nyelvi csomagokat telepíti.

Esetleg nem tudja majd telepíteni az egyszerűsített kínai vagy a hagyományos kínai nyelvi csomagot, ha a Visual Studio 2010 egyszerűsített kínai vagy hagyományos kínai verzióját használja egy alkalmazás közzétételéhez, és bejelöli az Előfeltételek párbeszédpanelen látható „Az előfeltételek letöltése a komponens szállítójának webhelyéről” jelölőnégyzetet, majd kijelöli a következő összetevők bármelyikét előfeltételként:

  1. Microsoft .NET-keretrendszer 4 (x86 és x64)
  2. Ügyfélprofil a Microsoft .NET-keretrendszer 4-es verziójához (x86 és x64)
  3. Microsoft Visual F# futtatókörnyezet a .NET-keretrendszer 2.0-s verziójához
  4. Microsoft Visual F# futtatókörnyezet a .NET-keretrendszer 4-es verziójához

A probléma elhárítása:

    Az egyszerűsített kínai verzió esetén kövesse az alábbi lépéseket a probléma elhárításához:

  1. Lépjen a „%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client” mappára. Az x64 architektúrájú operációs rendszerek esetén az elérési út a „%ProgramFiles(x86)%” mappában található.
  2. Másolja a zh-Hans mappa tartalmát egy zh-chs nevű új mappába.
  3. Lépjen a zh-chs mappára.
  4. Nyissa meg a Package.xml fájlt rendszergazdai módban.
  5. Módosítsa a >Culture< elem értékét zh-chs értékre a következőképpen:
  6. <String Name="Culture">zh-chs</String>

    A hagyományos kínai verzió esetén kövesse az alábbi lépéseket a probléma elhárításához:

  1. Lépjen a „%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client” mappára. Az x64 architektúrájú operációs rendszerek esetén az elérési út a „%ProgramFiles(x86)%” mappában található.
  2. Másolja a zh-Hant mappa tartalmát egy zh-cht nevű új mappába.
  3. Lépjen a zh-cht mappára.
  4. Nyissa meg a Package.xml fájlt rendszergazdai módban.
  5. Módosítsa a >Culture< elem értékét zh-cht értékre a következőképpen:
  6. <String Name="Culture">zh-cht</String>

2.3.2. ASP.NET

2.3.2.1. Miután telepíti a .NET-keretrendszer 4-es verzióját Windows 7 operációs rendszeren, többé nem konfigurálhat aspnet.config fájlokat az IIS 7.5 rendszerben működő egyedi alkalmazáskészletekhez.

Miután telepíti a .NET-keretrendszer 4-es verzióját egy olyan ügyfél- vagy kiszolgálógépen, amelyen Windows 7 operációs rendszer fut, és amelyen engedélyezve van az IIS 7.5 futása, többé nem konfigurálhatók ASP.NET rendszerbeli konfigurációs fájlok a különböző alkalmazáskészletekhez. Ez azért történik, mert a .NET-keretrendszer 4 telepítése kis mértékben megváltoztatja a közös nyelvi futtatókörnyezet (CLR) inicializálásának alapértelmezett lefolyását. Ha telepítve van a .NET-keretrendszer 4, akkor Windows 7 rendszeren az IIS 7.5 a közös nyelvi futtatókörnyezet inicializálásához hívást kezdeményez egy natív ASP.NET 4 DLL-kódtárba, és ez az inicializálási logika nem teszi lehetővé különböző konfigurációs fájlok használatát.

A probléma elhárítása:

A közös nyelvi futtatókörnyezet inicializálási logikája alapvetően megegyezik a .NET-keretrendszer 4 és az IIS 7.5 rendszerben (leszámítva a konfigurációs fájlokra gyakorolt mellékhatást), ezért újrakonfigurálhatja az IIS 7.5 rendszert oly módon, hogy az ne delegálja a közös nyelvi futtatókörnyezet inicializálását az ASP.NET 4 rendszernek. Ez kétféleképpen hajtható végre.

1. lehetőség
----------
Az IIS 7.5 rendszer applicationHost.config fájljában állítsa be a „managedRuntimeLoader” attribútum alapértelmezett értékét egy üres karakterláncra, amint az a következő példában látható:

<applicationPools>
  <applicationPoolDefaults managedRuntimeLoader="" />
</applicationPools>

2. lehetőség
----------
Az IIS 7.5 rendszer IIS_Schema.xml fájljában állítsa be a „managedRuntimeLoader” attribútum „defaultValue” értékét egy üres karakterláncra. Az attribútum eredeti értéke például az alábbihoz hasonló lehet: 

<attribute name="managedRuntimeLoader" type="string" defaultValue="webengine4.dll" />

Cserélje le az értéket a következő kódra:

<attribute name="managedRuntimeLoader" type="string" defaultValue="" />

2.3.2.2. Windows XP és Windows Server 2003 rendszeren az ASP.NET 4 regisztrációjának megszüntetése, majd a termék újbóli regisztrálása azt eredményezi, hogy az IIS MMC-moduljának ASP.NET tulajdonságlapján üres érték szerepel az ASP.NET rendszer verziószámánál.

Windows XP és Windows Server 2003 operációs rendszeren (az összes verzió esetén), ha megszünteti az ASP.NET 4 regisztrációját az IIS rendszerben, majd újból regisztrálja a terméket, akkor az IIS MMC-modulja üres értéket jelenít meg az ASP.NET lapon az ASP.NET verziólistáján. A következő lépéssorozat vezethet ehhez a problémához:

  1. Ha az aspnet_regiis eszköz ASP.NET 4 rendszerbeli verziójának használatához az „aspnet_regiis -u” parancsot futtatja.
  2. Ha az aspnet_regiis eszköz ASP.NET 4 rendszerbeli verziójának használatához az „aspnet_regiis -i -enable” parancsot futtatja.

A probléma elhárítása:

Az IIS MMC-moduljában az ASP.NET verziólistán kézzel válassza ki az ASP.NET kívánt verzióját, majd kattintson az „Alkalmaz” gombra.

2.3.2.3. Windows Vista, Windows Server 2008 és Windows 7 operációs rendszeren az ASP.NET rendszerbeli fordítási feladatok esetleg sikertelenül végződhetnek, mert az IIS munkavégző folyamatának nincs írási engedélye a Windows ideiglenes könyvtárához.

Windows Vista, Windows Server 2008 és Windows 7 operációs rendszeren az ASP.NET rendszerbeli fordítási feladatok némelyike esetleg sikertelenül végződhet, mert az IIS munkavégző folyamatának nincs írási engedélye a Windows ideiglenes könyvtárához (%WINDOWS%\Temp). Amikor megpróbál lefordítani bizonyos elemeket, például WSDL-fájloktól függő webszolgáltatási hivatkozásokat, megjelenhet a következő vagy ahhoz hasonló hibaüzenet: „Elemzési hibaüzenet: Egy ideiglenes osztály nem hozható létre”.
 
Ez a hiba akkor fordul elő, ha engedélyezve van a számítógépen az IIS futása, és telepítve van a .NET-keretrendszer 4, de nincs engedélyezve az ASP.NET és a .NET-kiterjeszthetőség szolgáltatás.

A probléma elhárítása:

1. lehetőség
----------
Explicit módon adjon írási engedélyt az IIS munkavégző folyamatához tartozó fióknak a Windows ideiglenes könyvtárához (%WINDOWS%\Temp). Ezt megteheti egyebek között úgy, hogy írási engedélyt ad annak a csoportnak, amelybe a munkavégző folyamat fiókja tartozik, például az IIS_IUSRS csoportnak.
 
2. lehetőség
---------
Engedélyezze az ASP.NET és a .NET-kiterjeszthetőség szolgáltatást. Nyissa meg a Windows Vezérlőpult „Programok” csoportját, majd kattintson a „Programok és szolgáltatások” párbeszédpanelen látható „Windows-szolgáltatások be- és kikapcsolása” hivatkozásra. A „Windows-szolgáltatások” párbeszédpanelen bontsa ki az „Internet Information Services” csomópontot, majd a „Webszolgáltatások”, és végül az „Alkalmazásfejlesztési funkciók” csomópontot. Engedélyezze a következő szolgáltatásokat:

     .NET-kiterjeszthetőség
     ASP.NET

2.3.2.4. Ha egy részlegesen megbízható állapotban futó webhelyen megpróbálnak betölteni előre lefordított, a globális szerelvény-gyorsítótárban elhelyezett webes szerelvényeket, a művelet sikertelen lesz, és „SecurityException” kivételt vált ki.

Az aspnet_compiler.exe parancssori eszköz használatával az ASP.NET rendszerű webhelyek előre lefordíthatók. Ha az így kapott szerelvényeket aláírja egy kulccsal, akkor a szerelvények a webhely Bin mappája helyett rendszerbe állíthatók a globális szerelvény-gyorsítótárban.

Az ASP.NET 4 rendszerben, ha egy részlegesen megbízható állapotban futó webhely megpróbálja betölteni a szerelvényeket a globális szerelvény-gyorsítótárból, a művelet „System.Security.SecurityException” kivételt vált ki. Ennek az az oka, hogy az ASP.NET 4 alapértelmezés szerint a kódelérés biztonságának újabb megvalósítását használja, mint az ASP.NET korábbi verziói. A kódelérés biztonságának új megvalósításában az előre lefordított és aláírt szerelvényeket, amelyeket a globális szerelvény-gyorsítótárban helyeznek el, explicit módon meg kell jelölni a „SecurityTransparent” attribútummal.

A probléma elhárítása:

1. lehetőség
--------
Fordítás előtt jelölje meg a szerelvényt a „SecurityTransparent” attribútum használatával, amint az a következő példában látható:

[assembly:System.Security.SecurityTransparentAttribute]

2. lehetőség
--------
Vegyen fel egy „compilerOptions” beállítást a webhely Web.config fájljába a „How to: Create Versioned Assemblies for Precompiled Web Sites” című cikkben ismertetett módon (http://msdn.microsoft.com/en-us/library/ms228042.aspx). A folyamat részeként vegye fel az alábbi sort a „compilerOptions” beállítás által hivatkozott AssemblyInfo.vb vagy AssemblyInfo.cs fájlba:

[assembly:System.Security.SecurityTransparentAttribute]

3. lehetőség
--------
Hozzon létre egy nem tényleges használatra szolgáló osztálytárat, amely tartalmazza a következő attribútumot:

[assembly:System.Security.SecurityTransparentAttribute]

Fordítsa le az osztálytárat szerelvénnyé, majd futtassa az aspnet_merge.exe parancssori eszközt az előfordított webhelykimeneten a „copyattrs” beállítás használatával, amint az a következő példában látható:

aspnet_merge c:\MyApplicationRootDirectory -copyattrs assemblyfile.dll

A DLL neveként használja a minta osztálytár nevét, amelyet a „SecurityTransparent” attribútum használatával megjelölt.

4. lehetőség
--------
Átmenetileg térjen vissza a régebbi kódelérés-biztonsági módhoz, ehhez állítsa „true” értékre a „trust” elem „legacyCasModel” attribútumát a webhely Web.config fájljában, amint az a következő példában látható:

<trust level="Medium" legacyCasModel="true"/>

Miután elvégezte ezt a változtatást, valamelyik egyéb lehetőség használatával célszerű megadnia a „SecurityTransparent” attribútumot az előre lefordított szerelvényekhez. Ezt követően eltávolíthatja a „legacyCasModel” attribútumot, és az új kódelérés-biztonsági módban használhatja a webhelyet.

2.3.2.5. Az ASP.NET és a WCF rendszerbeli alkalmazások esetleg nem indulnak el az IIS 7 integrált módjában.

Ha új konfigurációs szakaszokat adnak egy ASP.NET vagy Windows Communication Foundation (WCF) rendszerbeli alkalmazás Web.config fájljához, az alkalmazás nem indul majd el az IIS 7 integrált módjában való futtatáskor.

Ha például felvesz egy <standardEndpoints> konfigurációs szakaszt egy WCF-alkalmazás Web.config fájljába, az alkalmazás nem fog elindulni az IIS 7 integrált módjában való futtatáskor. Ebben az esetben az IIS 7 konfigurációérvényesítési hibát jelez majd, mert az IIS 7 konfigurációs rendszere nem ismeri fel az új konfigurációs szakaszt.

A probléma elhárítása:

Töltse le és telepítse a probléma elhárítására szolgáló, nyilvánosan elérhető javítócsomagot. A javítócsomag a http://support.microsoft.com/kb/958854 webhelyről tölthető le. Másik lehetőségként telepítheti a Windows Vista 2. szervizcsomagját, amely már tartalmazza a javítást. Windows 7 és Windows Server 2008 R2 használata esetén ez a probléma nem merül fel, mert ezek az operációs rendszerek már tartalmazzák a szükséges javítást.

2.3.2.6. Windows Vista, Windows Server 2008, Windows 7 és Windows Server 2008 R2 rendszeren szükség lehet az ASP.NET 4 újbóli regisztrálására.

Újból regisztrálni kell az ASP.NET 4 rendszert, ha az IIS 7/7.5 rendszert vagy az IIS 7/7.5 .NET-kiterjeszthetőségi funkcióját *azt követően* engedélyezik, hogy telepítik a .NET-keretrendszer 4-es verzióját a számítógépen. Abban az esetben is újból regisztrálni kell az ASP.NET 4 rendszert, ha eltávolítják a .NET-kiterjeszthetőségi szolgáltatást, miközben telepítve van a számítógépen a .NET-keretrendszer 4.

Az újbóli regisztráció mindkét esetben azért szükséges, mert az IIS 7 és az IIS 7.5, illetve a .NET-kiterjeszthetőségi szolgáltatás operációs rendszerbeli telepítési és eltávolítási folyamata nem lett felkészítve arra a helyzetre, amikor már telepítve van a számítógépen a .NET-keretrendszer újabb verziója.

A probléma elhárítása:

Az ASP.NET 4 újbóli regisztrációjához futtassa a következő parancsot:

          aspnet_regiis -iru -enable 

Ügyeljen arra, hogy az aspnet_regiis.exe fájlnak azt a verzióját használja, amely a .NET-keretrendszer 4 telepítési könyvtárában található.

2.3.2.7. Az ASP.NET kezelőkonzoljának (MMC) lapja esetleg nem jelenik meg egy távoli webkiszolgáló felügyeletekor.

Az ASP.NET lap esetleg nem jelenik meg, amikor egy távoli webkiszolgáló felügyeletéhez futtatja a kezelőkonzolt (MMC) egy helyi számítógépen. Ez akkor történik, ha az IIS 6 kezelőeszközét használja egy olyan webkiszolgáló távoli felügyeletéhez, amelyen telepítve van az ASP.NET rendszer, és ha a helyi számítógépen Windows Server 2008 x64, Windows 7 vagy Windows Server 2008 R2 (akár x86, akár x64) operációs rendszer fut.

A probléma elhárítása:

Ez a probléma nem hárítható el.

2.3.2.8. Az „aspnet_regiis -ua” parancs ASP.NET 2.0-s verziójának futtatása nem szünteti meg az ASP.NET egyéb verzióinak, egyebek között az ASP.NET 4 rendszernek a regisztrációját.

Az „aspnet_regiis -ua” parancs ASP.NET 2.0-s verziójának Windows Vista, Windows Server 2008, Windows 7 vagy Windows Server 2008 R2 operációs rendszeren való futtatása a következő hibát okozza: 

          A kérés nem támogatott.

Ennek az az oka, hogy az „aspnet_regiis” parancs ASP.NET 2.0-s verziója nem tudja észlelni, hogy telepítve van-e a számítógépen az ASP.NET későbbi verziója.

A probléma elhárítása:

Futtassa az „aspnet_regiis -ua” parancs ASP.NET 4-es verzióját az ASP.NET rendszer számítógépen levő összes verziója regisztrációjának megszüntetéséhez.

2.3.2.9. Az „aspnet_regiis -i” parancs Windows Server 2003 operációs rendszeren való futtatása nem eredményezi a virtuális könyvtárak rekurzív frissítését az ASP.NET 4-es verziójára.

Az ASP.NET 2.0-s verziója esetén az „aspnet_regiis -i” parancs rekurzív módon frissíti az összes virtuális könyvtárat az ASP.NET 2.0 használatára Windows Server 2003 rendszeren. Az ASP.NET 4-es verziója esetén az „aspnet_regiis -i” parancs Windows Server 2003 rendszeren csak az IIS 6 gyökérkönyvtárát frissíti az ASP.NET 4-es verziójára. Ha a gyökér alatti virtuális könyvtárak bármelyike explicit módon be van állítva az ASP.NET megadott verziójának futtatására, akkor azok a virtuális könyvtárak megtartják az ASP.NET explicit módon beállított verzióját, és nem öröklik az ASP.NET 4 beállítást a gyökérkönyvtártól.

A probléma elhárítása:

Futtassa az alábbi parancsok bármelyikének ASP.NET 4-es verzióját:

          aspnet_regiis -s

          aspnet_regiis -r

Ezek a parancsok kikényszerítik az összes virtuális könyvtár rekurzív frissítését az ASP.NET 4-es verziójára.

2.3.2.10. Az ASP.NET 2.0 regisztrációjának megszüntetése után nem működnek az ASP.NET 4 teljesítményszámlálói.

Ha megszünteti az ASP.NET 2.0 regisztrációját bármely olyan operációs rendszeren, amelyen már regisztrálva van az ASP.NET 4 rendszer, azzal megsérti az ASP.NET 4 egyes teljesítményszámlálóinak regisztrációját. Ennek az az oka, hogy az ASP.NET 2.0 regisztrációtörlési folyamata nem tudja észlelni, hogy telepítve van-e a számítógépen az ASP.NET későbbi verziója. Ennek következtében az ASP.NET 4 bizonyos teljesítményszámlálóinak használatakor az alábbiakhoz hasonló hibaüzenetek jelenhetnek meg az alkalmazás eseménynaplójában: 

          „Nem lehet meghatározni a DLL-ben (%WINDOWS%\Microsoft.NET\Framework\v4.0.NNNNN\aspnet_perf.dll) a(z) ASP.NET szolgáltatás részére a megnyitott eljárás (%teljesítményszámláló_neve%) helyét.”

          „A szolgáltatás („ASP.NET”) teljesítményszámlálóihoz tartozó adatok gyűjtése tiltva van, mivel a szolgáltatás teljesítményszámlálói függvénytára már legalább egy hibát generált.”

A probléma elhárítása:

Futtassa az „aspnet_regiis -iru” parancs ASP.NET 4-es verzióját. Ez újraregisztrálja az ASP.NET 4 teljesítményszámlálóit.

2.3.2.11. Az SQL Server Express felhasználói példányai nem működnek webalkalmazási projektekkel IIS 6 vagy IIS 7 használata esetén, illetve alkalmazásokkal IIS 7.5 használata esetén.

Alapértelmezés szerint azok az ASP.NET 4 rendszerű webprojektek és webalkalmazások, amelyek az SQL Server Express felhasználói példányaira támaszkodnak, nem működnek a következő helyzetekben:

  1. Ha egy webalkalmazási projektet (WAP) virtuális könyvtárként üzemeltetnek az IIS bármelyik verziójában. Ennek az az oka, hogy az SQL Server Express felhasználói példányai meghatározott fájlhozzáférési engedélyeket igényelnek a felhasználó Dokumentumok mappájához, és az IIS alapértelmezett szolgáltatási fiókja (HÁLÓZATI SZOLGÁLTATÁS) nem rendelkezik ezekkel az engedélyekkel.
  2. Ha egy webhelyet Windows 7 vagy Windows Server 2008 R2 operációs rendszeren futó IIS 7.5 környezetben üzemeltetnek. Ennek az az oka, hogy az IIS 7.5 alkalmazáskészleteinek alapértelmezett biztonsági hitelesítő adatai nem a HÁLÓZATI SZOLGÁLTATÁS fiókon alapulnak.

A probléma elhárítása:

E problémák elhárításáról a következő cikkben olvashat részletesen:  

          http://go.microsoft.com/fwlink/?LinkID=160102

2.3.2.12. Az ASP.NET 4 vagy az IIS 7 konfigurációs hibát jelez, ha léteznek kapcsolódó szakaszok az alkalmazásszintű Web.config fájlokban.

Az ASP.NET 4 rendszerben jelentősen csökkent az alapértelmezett Web.config fájl mérete. Ennek eredményeképpen az IIS 7 (Windows Vista és Windows Server 2008 rendszeren) és az IIS 7.5 (Windows Server 2008 R2 rendszeren) konfigurációs hibákat jelez majd. A tényleges hibák attól függenek, hogy milyen frissítéseket telepítettek az operációs rendszeren, és hogy milyen jellegű konfigurációs adatok találhatók az alkalmazásszintű Web.config fájlokban.

Windows Vista az 1. szervizcsomaggal vagy Windows Server 2008 az 1. szervizcsomaggal, ha nincs telepítve sem a KB958854 gyorsjavítás, sem a 2. szervizcsomag. Ebben a konfigurációban az IIS 7 konfigurációs rendszere helytelenül egyesíti egy alkalmazás felügyelt konfigurációját oly módon, hogy összehasonlítja az alkalmazásszintű Web.config fájlt az ASP.NET 2.0 machine.config fájljaival. Ennek következtében a .NET-keretrendszer 3.5-ös vagy a .NET-keretrendszer 4-es verziójából származó alkalmazásszintű Web.config fájloknak tartalmazniuk kell egy <system.web.extensions> konfigurációs szakaszt ahhoz, hogy az IIS 7 ne jelezzen érvényesítési hibát. Azok a kézzel módosított alkalmazásszintű Web.config fájlbejegyzések, amelyek nem felelnek meg pontosan a sablonként alkalmazott eredeti konfigurációs szakaszok Visual Studio 2008 rendszerben bevezetett definíciójának, konfigurációs hibát okoznak majd. (A Visual Studio 2008 rendszer által létrehozott alapértelmezett konfigurációs bejegyzések hibamentesen működnek). Gyakori probléma, hogy a kézzel módosított Web.config fájlokból kihagyják az „allowDefinition” és a „requirePermission” konfigurációs attribútumot, amely különböző konfigurációs szakaszok definíciójában is megtalálható. Ennek következtében eltérés mutatkozik az alkalmazásszintű Web.config fájlokban levő rövidített konfigurációs szakasz és az ASP.NET 4 machine.config fájljában levő teljes definíció között. Ezért futási időben az ASP.NET 4 konfigurációs rendszere konfigurációs hibát jelez.

Windows Vista a 2. szervizcsomaggal, Windows Server 2008 a 2. szervizcsomaggal, Windows 7, Windows Server 2008 R2, valamint Windows Vista az 1. szervizcsomaggal és Windows Server 2008 az 1. szervizcsomaggal, ha telepítve van a KB958854 gyorsjavítás. Ebben az esetben az IIS 7 és az IIS 7.5 natív konfigurációs rendszere jelez konfigurációs hibát, mert szöveges összehasonlítást végez a felügyelt konfigurációs szakasz kezelőjéhez definiált „type” attribútumra vonatkozóan. Minthogy a Visual Studio 2008 és a Visual Studio 2008 SP1 rendszer által generált összes Web.config fájl a „3.5” értéket tartalmazza a <system.web.extensions> (és a kapcsolódó) konfigurációs szakaszok típuskarakterláncában, de ugyanakkor az ASP.NET 4 machine.config fájljában „4.0” érték szerepel a megfelelő konfigurációs szakaszok „type” attribútumában, a Visual Studio 2008 vagy a Visual Studio 2008 SP1 használatával létrehozott alkalmazások konfigurációjának érvényesítése mindig sikertelen lesz az IIS 7 és az IIS 7.5 rendszerben.

A probléma elhárítása:

Az első esetben frissítse az alkalmazásszintű Web.config fájlt oly módon, hogy belefoglalja a sablon konfigurációs szövegét egy olyan Web.config fájlból, amelyet a Visual Studio 2008 hozott létre automatikusan.

A második esetben törölje vagy helyezze megjegyzésbe az összes <system.web.extensions> konfigurációs szakasz definícióját és konfigurációs szakaszcsoport definícióját az alkalmazásszintű Web.config fájlban.

2.3.2.13. A rendszer soha nem ad át paraméteradatokat a System.Web.Hosting.IProcessHostPreloadClient.Preload metódusnak.

A System.Web.Hosting.IProcessHostPreloadClient.Preload metódus egy karakterlánctömböt fogad bemeneti paraméterként. Ezek az adatok azonban nem állíthatók be, és a rendszer soha nem ad át semmilyen információt ebben a paraméterben.

A probléma elhárítása:

Az IIS 7.5 automatikus indítási szolgáltatásának korábbi előzetes verziói támogattak egy módszert egy vagy több karakterláncérték átadására az ASP.NET 4 IProcessHostPerloadClient.Preload metódusának. Ezt a funkciót azonban eltávolították a rendszerből a Windows 7 és a Windows Server 2008 R2 végleges kiadásának megjelenése előtt.

2.3.2.14. Az IIS 7/IIS 7.5 .NET-kiterjeszthetőségi szolgáltatása nincs integrálva az ASP.NET 4 rendszerrel Windows Vista, Windows Server 2008, Windows 7 és Windows Server 2008 R2 operációs rendszeren.

Az IIS 7 és az IIS 7.5 .NET-kiterjeszthetőségi szolgáltatása egy konfigurációs lehetőség, amely a „Windows szolgáltatások” párbeszédpanelen érhető el az IIS 7 vagy az IIS 7.5 funkcióinak telepítéséhez vagy eltávolításához. A szolgáltatás a következő csomóponton található:

Internet Information Services  > Webszolgáltatások  > Alkalmazásfejlesztési funkciók  > .NET-kiterjeszthetőség   

Windows Vista, Windows Server 2008, Windows 7 és Windows Server 2008 R2 rendszeren a .NET-kiterjeszthetőségi szolgáltatás csak az ASP.NET 2.0-s verziójának az IIS 7 vagy az IIS 7.5 rendszerrel való integrációjára van hatással. Semmilyen hatást nem gyakorol az ASP.NET 4 regisztrációjára vagy regisztrációjának megszüntetésére az IIS 7 vagy az IIS 7.5 rendszeren.

A probléma elhárítása:

Az ASP.NET 4 és az IIS 7 vagy az IIS 7.5 integrációjának kezeléséhez használja az „aspnet_regiis.exe” parancs ASP.NET 4-es verzióját.

2.3.2.15. Az IIS 6 rendszeren futó ASP.NET 2.0-s verziójú alkalmazások hibákat okozhatnak, például: System.Web.HttpException: A következő elérési út nem található: „[Alkalmazás_gyökere]/eurl.axd/[Érték]”.

Az IIS 6 rendszeren (akár Windows Server 2003, akár Windows Server 2003 R2 operációs rendszeren) futó ASP.NET 2.0-s verziójú alkalmazások hibákat okozhatnak, például a következőt:

System.Web.HttpException: A következő elérési út nem található: „[Alkalmazás_gyökere]/eurl.axd/[Érték]”.

Ez a hiba csak akkor következik be, ha engedélyezték az ASP.NET 4-es verzióját az IIS 6 rendszeren. A hiba azért történik, mert amikor az ASP.NET észleli, hogy egy webhely az ASP.NET 4 használatára van konfigurálva, az ASP.NET 4 egyik natív összetevője kiterjesztés nélküli URL-címeket ad át az ASP.NET rendszer felügyelt részének további feldolgozásra.

Ha azonban egy ASP.NET 4 rendszerű webhely alatti virtuális könyvtárak az ASP.NET 2.0-s verziójának használatára vannak konfigurálva, akkor a kiterjesztés nélküli URL-cím ilyen módon történő feldolgozása egy olyan módosított URL-címet eredményez, amelyben szerepel az „eurl.axd” karakterlánc, és ez az URL-cím lesz elküldve az ASP.NET 2.0-s verziójú alkalmazásnak. Az ASP.NET 2.0 azonban nem ismeri fel az „eurl.axd” formátumot. Ezért az ASP.NET 2.0 megpróbál megkeresni és végrehajtani egy „eurl.axd” nevű fájlt. Minthogy ilyen fájl nem létezik, a kérelem sikertelen lesz, és „HttpException” kivételt vált ki.

A probléma elhárítása:

1. lehetőség
--------
Ha az ASP.NET 4 nem szükséges a webhely futtatásához, akkor a hozzárendelések módosításával állítsa be a webhelyet az ASP.NET 2.0 használatára.

2. lehetőség
---------
Ha az ASP.NET 4 szükséges a webhely futtatásához, akkor helyezze át az ASP.NET 2.0 rendszerű virtuális gyermekkönyvtárakat egy másik webhelyre, amely az ASP.NET 2.0 használatára van beállítva.

3. lehetőség
---------
Ha gyakorlati okból nem célszerű a webhely átállítása az ASP.NET 2.0 használatára, illetve egy virtuális könyvtár helyének módosítása, akkor explicit módon tiltsa le a kiterjesztés nélküli URL-címek feldolgozását az ASP.NET 4 rendszerben. Kövesse az alábbi eljárást:

1. Nyissa meg a következő csomópontot a Windows beállításjegyzékében: 

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.<build#>   

 Megjegyzés: A <build#> a .NET-keretrendszer 4 hivatalos verziójának buildszáma.

2. Hozzon létre egy „EnableExtensionlessUrls” nevű DWORD értéket.

3. Állítsa be 0-ra az „EnableExtensionlessUrls” értéket. Ezzel letiltja a kiterjesztés nélküli URL-címek használatát.

4. Mentse a beállításértéket, és zárja be a Beállításszerkesztőt.

5. Futtassa az „iisreset” parancssori eszközt, aminek hatására az IIS beolvassa az új beállításértéket.

 Megjegyzés: Az „EnableExtensionlessUrls” érték 1-re állítása engedélyezi a kiterjesztés nélküli URL-címek használatát. Ez az alapértelmezett beállítás abban az esetben, ha nincs megadva érték.

2.3.2.16. Azok a webhelyek, amelyek az Entitás-keretrendszert használják, és amelyeket az ASP.NET 4 valamelyik hivatalos kiadás előtti verziójával hoztak létre, hiányzó szerelvényhivatkozások miatt nem működnek tovább.

A gyökérszintű Web.config fájl végleges (RTM) verziójából eltávolították a hivatkozásokat azokra a névterekre és szerelvényekre, amelyek szükségesek az Entitás-keretrendszert használó webprojektekhez. Emiatt azok az EntityDataSource adatforrást használó, dinamikus adatokkal dolgozó webhelyek, valamint az Entitás-keretrendszert használó webalkalmazások, amelyeket az ASP.NET 4 valamelyik hivatalos kiadás előtti verziójával hoztak létre, nem működnek, és fordítási hibákat adnak vissza.

A probléma elhárítása:

Beszúrhatja a hiányzó szerelvény- és névtérhivatkozásokat az alkalmazás Web.config fájljába. Az alábbi példa bemutatja azokat a szerelvény- és névtérelemeket, amelyeket kézzel kell beszúrni az alkalmazásszintű Web.config fájlba.

<system.web>

<compilation>
        <assemblies>
            <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />             
        </assemblies>
    </compilation>

    <pages>
        <namespaces>
            <add namespace="System.Data.Entity.Design" />
            <add namespace="System.Data.Linq" />
        </namespaces>
    </pages>

</system.web>

2.3.2.17. Az ASP.NET 4 hivatalos kiadás előtti verziói, amelyek az IIS 7 vagy az IIS 7.5 rendszeren futnak integrált módban, egyes esetekben kezeletlen NullReferenceException hibát jelezhetnek, amelyet a RoleManagerModule osztály váltott ki.

A .NET-keretrendszer 2.0-s és 4-es verziójának bizonyos telepítései esetén Windows Vista, Windows Server 2008, Windows 7 és Windows Server 2008 R2 operációs rendszeren az ASP.NET 4-es verziójú alkalmazások kezeletlen NullReferenceException hibát váltanak ki a RoleManagerModule osztályból. Ez akkor következik be, ha az ASP.NET 4 rendszer az ASP.NET egyetlen olyan verziója, amelyet regisztrálnak az IIS 7 vagy az IIS 7.5 rendszerben, és ha az ASP.NET 2.0 soha nem volt regisztrálva az IIS rendszerben, vagy ha megszüntették az ASP.NET 2.0 regisztrációját az IIS 7 vagy az IIS 7.5 rendszerben.

A fenti esetek mindegyikében az ASP.NET 4 önálló regisztrációja helytelen sorrendben tünteti fel a konfigurációs fájlban azt a két HTTP-modult, amelyet az integrált módú alkalmazásokban használnak.

A probléma elhárítása:

Bár ezt a problémát már elhárították az ASP.NET 4 végleges kiadásában, az ASP.NET 4 hivatalos kiadás előtti verziói esetleg helytelenül adták meg a modulok sorrendjét. Ha a kezeletlen kivétel továbbra is előfordul egy olyan számítógépen, amelyet frissítettek az ASP.NET 4 valamelyik hivatalos kiadás előtti verziójáról az RTM verzióra, végezze el az alábbi lépéseket:

1. Nyissa meg az applicationHost.config fájlt, amely a következő mappában található:

%windir%\System32\inetsrv\config

2. Keresse meg a következő elemet:

<location path="" overrideMode="Allow">

Ebben az elemben található az integrált módhoz szükséges HTTP-modulok listája. Az információ a <modules> elemben szerepel.

3. Keresse meg a következő karakterlánccal kezdődő elemet:

<add name="RoleManager"  ...

4. Helyezze át az elemet a következő karakterlánccal kezdődő elem alá:

<add name="DefaultAuthentication"...

5. Mentse a fájlt.

Amikor befejezte, a <modules> definíció egy részének az alábbi példában szereplő kódhoz kell hasonlítania:

<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />

2.3.2.18. Az MVC 2 és az ASP.NET 4 rendszerű webűrlapos alkalmazások, amelyek URL-útválasztást használnak, esetleg HTTP 404-es hibákat adhatnak vissza, amikor megpróbálnak feldolgozni kiterjesztés nélküli URL-címeket az IIS 7 és az IIS 7.5 rendszerben.

Az MVC 2 és az ASP.NET 4 rendszerű webűrlapos alkalmazások, amelyek kiterjesztés nélküli URL-címeket használnak, esetleg HTTP 404-es hibákat adhatnak vissza Windows Vista, Windows Server 2008, Windows 7 vagy Windows Server 2008 R2 operációs rendszeren való futtatáskor. Ez a probléma akkor merülhet fel, ha csak a .NET-keretrendszer kiterjeszthetőségi beállítása van bekapcsolva, amikor telepítik az IIS rendszert a Windows-szolgáltatások párbeszédpanel használatával. Az IIS minimális telepítése nem tartalmaz bizonyos HTTP-modulokat. Annak következtében, ahogy az ASP.NET és az IIS rendszer kezeli a HTTP-folyamatok és -események közötti átmeneteket, a hiányzó HTTP-modulok megakadályozzák az ASP.NET URL-útválasztási moduljának megfelelő időpontban való futását. Ennek eredményeként az URL-útválasztási modul nem dolgozza fel a kiterjesztés nélküli URL-címekre vonatkozó kérelmeket, és 404-es hiba történik.

A probléma elhárítása:

Kövesse az alábbi lépéseket a Windows Vezérlőpult „Programok és szolgáltatások” paneljéről
elérhető „Windows-szolgáltatások be- és kikapcsolása” párbeszédpanelen:

1. Keresse meg az alábbi csomópontot:

Internet Information Services --> Webszolgáltatások --> Általános HTTP funkciók

2. Győződjön meg arról, hogy be van jelölve a „HTTP átirányítás” jelölőnégyzet.

– vagy –

1. Keresse meg az alábbi csomópontot:

Internet Information Services --> Webszolgáltatások --> Teljesítmény funkciók

2. Győződjön meg arról, hogy be van jelölve a „Statikus tartalom tömörítése” jelölőnégyzet.

Bármelyik jelölőnégyzet bejelölése után kattintson az „OK” gombra a módosítások mentéséhez.

A HTTP-hibaátirányítási modul vagy a Statikus tartalmat tömörítő modul újbóli engedélyezésével biztosítható, hogy az ASP.NET és az IIS rendszer helyesen szinkronizálja a http-folyamatokat és -eseményeket. Így az URL-útválasztási modul fel tudja dolgozni a kiterjesztés nélküli URL-címeket.

2.3.2.19. A System.Web.Mobile.dll szerelvény el lett távolítva a gyökérszintű Web.config fájlból.

Az ASP.NET rendszer korábbi verzióiban a gyökérszintű Web.config fájl tartalmazott egy hivatkozást a System.Web.Mobile.dll szerelvényre, az <assemblies> szakasz <system.web><compilation> részében. A teljesítmény növelése érdekében ezt a szerelvényhivatkozást eltávolították.

A probléma elhárítása:

A System.Web.Mobile.dll szerelvény szerepel az ASP.NET 4 rendszerben, de már érvénytelen. Ha szeretne típusokat használni a System.Web.Mobile.dll szerelvényből, akkor vegyen fel egy erre a szerelvényre mutató hivatkozást akár a gyökérszintű Web.config fájlba, akár valamelyik alkalmazás Web.config fájljába. Ha például szeretné használni bármelyik (érvénytelen) ASP.NET-mobilvezérlőt, fel kell vennie egy a System.Web.Mobile.dll szerelvényre mutató hivatkozást a Web.config fájlba.

2.3.2.20. Módosultak a böngésződefiníciós fájlok és a böngészőképességek.

Frissítették a böngésződefiníciós fájlokat, hogy tartalmazzák az új és frissített böngészőkre és eszközökre vonatkozó információt. Eltávolították a régi böngészőket és eszközöket, például a Netscape Navigator programot, és felvettek újabb böngészőket és eszközöket, ezek közé tartozik a Google Chrome és az Apple iPhone.

A probléma elhárítása:

Használhatja a régi böngésződefiníciós fájlokat az ASP.NET 4 rendszerrel. A régi böngésződefiníciós fájlok, valamint a telepítésüket ismertető dokumentáció egyaránt megtalálhatók az ASP.NET böngésződefiníciós fájljainak kiadásában, a következő címen: http://go.microsoft.com/fwlink/?LinkID=186493.

2.3.2.21. ScriptManager.EnableCdn és honosított Microsoft Ajax-fájlok

A Microsoft Ajax JavaScript-fájlok honosított verziói, például a MicrosoftAjax.debug.ja.js fájl, mindaddig nem lesznek elérhető a Microsoft Ajax Content Delivery Network (CDN) rendszerben, amíg nem jelennek meg a .NET-keretrendszer 4 honosított verziói. Ezért ne engedélyezze a ScriptManager.EnableCdn tulajdonságot, ha a .NET-keretrendszer honosított verzióját és a CDN rendszert használja.

A probléma elhárítása:

A Microsoft Ajax Content Delivery Network (CDN) használata előtt várja meg a .NET-keretrendszer 4 honosított verzióinak megjelenését. Addig pedig ügyeljen arra, hogy az alkalmazásában szereplő ScriptManager vezérlők ne legyenek EnableCdn="true" beállításúak.

2.3.2.22. Az általános ASP.NET-teljesítményszámlálók csak az ASP.NET 4 rendszerű alkalmazásokról nyújtanak adatokat.

Az ASP.NET 4 telepítése után az általános ASP.NET-teljesítményszámlálók csak az ASP.NET 4 rendszerű alkalmazásokról nyújtanak adatokat. Ha az általános teljesítményszámlálókat ASP.NET 1.1, ASP.NET 2.0 vagy ASP.NET 3.5 rendszerű alkalmazásokra használják, a teljesítményszámlálók nem jelentenek semmilyen adatot. Az ASP.NET korábbi verzióival futó alkalmazások teljesítményadatainak megismeréséhez az ASP.NET megfelelő, verziószámmal ellátott teljesítményszámláló-kategóriáit kell használni.

Az általános ASP.NET-teljesítményszámlálók tartalmazzák a következő teljesítményszámláló-kategóriákat: „ASP.NET” és „ASP.NET-es verziójú alkalmazások”.

Az ASP.NET ezeknek megfelelő, verziószámmal ellátott teljesítményszámláló-kategóriáinak neve hasonló: „ASP.NET 2.0.50727-es verzió” és „ASP.NET 2.0.50727-es verziójú alkalmazások”.

A probléma elhárítása:

Ez a működésmód terv szerinti. Egy számítógépen a telepített legfrissebb verziójú ASP.NET rendszer „tulajdonában vannak” az általános teljesítményszámláló-kategóriák. Ezért célszerű a verziószámmal ellátott teljesítményszámláló-kategóriákat használni, ha több, az ASP.NET rendszer különböző verzióival futó ASP.NET-alkalmazásról kíván teljesítményadatokat gyűjteni.

2.3.3. WinForms

Nincs ismert probléma.

2.3.4. Párhuzamos programozás

Nincs ismert probléma.

2.3.5. Managed Extensibility Framework

Nincs ismert probléma.

2.3.6. Entitás-keretrendszer

Nincs ismert probléma.

2.3.7. LINQ to SQL

Nincs ismert probléma.

2.3.8. Windows Communication Foundation (WCF)

2.3.8.1. „A megadott fájl nem található” hibaüzenet jelenik meg egy szolgáltatás indításakor vagy az IIS alaphelyzetbe állításakor az ügyfélprofil frissítése után.

Miután frissítette a .NET-keretrendszer 4 csomagot a 2. bétaverzióról a végleges (RTM) verzióra, megjelenhet az alábbi hibaüzenet, amikor elindít egy szolgáltatást, vagy újraindítja az IIS rendszert:

„A megadott fájl nem található”.

A probléma elhárítása:

Javítsa ki a .NET-keretrendszer ügyfélprofilját a Vezérlőpult Programok és szolgáltatások párbeszédpanelén.

2.3.9. Windows Presentation Foundation (WPF)

2.3.9.1. A Windows Presentation Foundation (WPF) ia64 platformon nem támogatott.

A WPF szerelvényei ia64 architektúrájú számítógépeken nem lesznek telepítve, és a használatuk nem támogatott.

A probléma elhárítása:

Ez a probléma nem hárítható el. A WPF nem használható ia64 architektúrájú rendszeren.

2.3.10. Windows Workflow Foundation (WF)

2.3.10.1. A munkafolyamatok érvényesítése nem támogatja a sizeof operátort.

Kivétel történik olyan munkafolyamat érvényesítésekor, amely tartalmazza a sizeof operátort.

A probléma elhárítása:

Ne használja a sizeof operátort munkafolyamatokban.

2.3.11. Ügyfélprofil (Termék)

2.3.11.1. A .NET-keretrendszer 4 ügyfélprofilja ia64 platformon nem támogatott.

A .NET-keretrendszer 4 ügyfélprofilja ia64 platformon nem támogatott.

A probléma elhárítása:

Ha eltávolítja a .NET-keretrendszer 4-es verzióját egy ia64 architektúrájú számítógépről, akkor ügyeljen arra, hogy mind a teljes verziót, mind az ügyfélprofilos verziót eltávolítsa.

3. Kapcsolódó hivatkozások

              * Jeroen Frijters

 

© 2010 Microsoft Corporation. Minden jog fenntartva.

Használati feltételek  | Védjegyek  | Adatvédelmi nyilatkozat