Labojumfailu apkopojuma 2996568 .NET Framework 4.5 4.5.1 un 4.5.2 uz Vista SP2, Windows Server 2008 SP2, Windows 7 SP1 un Windows Server 2008 R2 SP1

Ievads

Šajā rakstā ir aprakstīts labojumfailu pakotne 2996568, kas pieejama Microsoft .NET Framework 4.5, .NET Framework 4.5.1 un .NET Framework 4.5.2. Lai iegūtu papildinformāciju par labojumfailu pakotne novērš problēmas, skatiet sadaļu "Papildinformācija".

Šī labojumfailu pakotne ir pieejama šādās operētājsistēmās:

  • Windows Server 2008 R2 SP1

  • Windows 7 SP1

  • Windows Server 2008 SP2

  • Windows Vista SP2


Risinājums

Pašlaik korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Izmantojiet to tikai tām sistēmām, kurām ir radusies tieši šī problēma.

Lai novērstu šo problēmu, sazinieties ar Microsoft klientu atbalsta pakalpojumu sniedzēju, lai iegūtu labojumfailu. Lai iegūtu pilnīgu sarakstu ar Microsoft klientu atbalsta pakalpojumu sniedzēju tālruņu numuriem un informāciju par atbalsta izmaksām, apmeklējiet šo Microsoft vietni:

http://support.microsoft.com/contactus/?ws=supportPiezīme. Īpašos gadījumos standarta izmaksas par atbalsta zvaniem nav jāsedz, ja Microsoft atbalsta speciālists nosaka, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Papildinformācija

Priekšnosacījumi

Lai lietotu šo labojumfailu, datorā jābūt instalētai .NET Framework 4.5, .NET Framework 4.5.1 vai .NET Framework instalēta 4.5.2.

Restartēšanas nepieciešamība

Dators ir jārestartē pēc šī labojumfaila lietošanas jebkuru ietekmētie faili tiek lietoti tādi. Ieteicams aizvērt visas lietojumprogrammas .NET Framework pirms šī labojumfaila.

Informācija par labojumfaila aizstāšanu

Šo labojumfailu pakotni neaizstāj iepriekš izlaistu labojumfailu pakotni.


















Šī labojumfailu pakotne novērš problēmas

1. problēma

Šis labojumfails novērš šādas divas pavedienu problēmas System.IO.Packaging , izmantojot .NET Framework 4.5, .NET Framework 4.5.1 vai .NET Framework 4.5.2.

  • Strupsaķeres var rasties, lietojot lielu paketes atsevišķu pavedienu. System.IO.Packaging izmanto IsolatedStorage pakotnes, kas ir lielāka par 10 megabaitiem (MB). Izmantojot lielu paketes, divus vai vairāk pavedienu Strupsaķere var rasties, pat tad, ja paketes tiek neatkarīga. Strupsaķeres ietver divus pavedienu. Viens gaida IsolatedStorageFile.Lock , kamēr citi gaida IsoloatedStorageFile klases citādi. Šī problēma ir novērsta, pievienojot sinhronizācijas System.IO.Packaging IsolatedStorageFileproblēmu izvairīties.

  • Izņēmumu var rasties, mēģinot izgūt PackageProperties pakotnes, kas tiek atvērts atsevišķu pavedienu, pat ja paketes tiek neatkarīga. Visbiežāk zvanu stekus, kas rodas šī ir šādi:System.Xml.XmlException: Unrecognized root element in Core Properties part. Line 2, position 2. atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: id atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    Šī problēma izraisa apgalvojuma iekšējā koplietojamā resursā un ir novērsta, piešķirot katrai pakotnei resurss kopiju.


2. problēma

Windows prezentāciju pamata (WPF) lietojumprogrammu var izmantot liels atmiņas apjoms, saņemot daudz pieprasījumu UIAutomation pakalpojumam. Atmiņas pieder objektus, kas ir no System.Threading nosaukumvietā. Tas ietver System.Threading.CancellationTokenSource, System.Threading.TimerQueueTimer, System.Threading.Timerun vairākas citas saistītās kategorijas.

Tie ir objekti, kas tiek piešķirti vārdā WPF WPF saņemot pieprasījumu UIAutomation darbību. Vēlāk tās tiek izlaistas līdz pieprasījuma taimauts termiņš ir beidzies (parasti trīs minūtes). Ja pieprasījumi saņemti ātri, šķiet, ka lietojumprogramma ir atmiņas noplūde vai izmantojot vairāk atmiņas, nekā ir pamatotas (tāpat kā 500 MB).

Šī problēma ir novērsta, kad pieprasījums ir pabeigta, jums nav jāgaida taimauts termiņu atlaižot objektus.

3. problēma

WPF programmā, ievadot tekstu, izmantojot korejiešu valodas ievades metodes redaktors (IME), labot kombinētajā lodziņā teksta iestatījums netiek mainīts pareizi dažos gadījumos.

Šī problēma var rasties dažādas pazīmes, un tas ir atkarīgs no kā lietojumprogrammas (vai vadības autors) ir konfigurējis kombinētajā lodziņā. Piemērs:

  • Pēc tipa un vispārīgi prom (vai pārvietojot fokusu uz citu vadīklu), kombinētajā lodziņā parādīto tekstu atgriež tukšu virkni vai vērtību, kas bija pirms ierakstīšanas.

  • Kombinētajā lodziņā TextSearch līdzeklis darbojas nepareizi. Tā neatbilst prefiksu, kas ir ievadīta vai tā atbilst nesaistītu objektu.

Šī problēma ir novērsta, grozot loģikas uzņemt laiku, mazliet atšķiras no citiem IME korejiešu valodas IME.

4. problēma

Pēc tam, kad izmantojat touch veikt vilkšanas un nomešanas darbību WPF lietojumprogrammu, tālāk touch žests tiks ignorēta.

Šī problēma ir novērsta, atjaunojot iekšējā stāvokļa touch ievades apdarinātājs vilkšanas un nomešanas darbību pabeigšanas. Šādā veidā, to aprēķina pozīciju tālāk touch žests pareizi.

5. problēma

Jaunā AuthenticationManager ieviešana nav obligāti jābūt iespējotam iegūt ievērojamu veiktspējas, strādājot ar pielāgotu IAuthenticationModules.

Piezīme. Galvenās drošības risku parādīties, ja kods nav paredzēta drošu pavedienu. Galvenā darbība izmaiņas atrodas PreAuthenticate un autentificēšana metodes. Iepriekš tika nodrošināta kods tika izpilde seriāli (global lock tika pieņemts). Jaunā ieviešana nav atslēga netiks veikta un klienta kods jānodrošina drošības pavediens.
Turklāt ar jauno ieviešanas PrefixLookup kešatmiņas lielums var kontrolēt, izmantojot reģistra.

Lai iespējotu un konfigurētu PrefixLookupmaksimālais garums var izmantot šādas reģistra atslēgas:

  • Globālā konfigurācija[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319]"System.Net.AuthenticationManager.HighPerformance"=dword:00000001
    "System.Net.AuthenticationManager.PrefixLookupMaxCount"=dword:00010000

  • Lokālo lietojumprogrammas konfigurēšana[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.HighPerformance]"c:\myapp\myapp.exe"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.PrefixLookupMaxCount]
    "c:\myapp\myapp.exe"=dword:00010000

Globālie iestatījumi ir prioritāte pār lokālo lietojumprogrammas iestatījumus. Globālā un lokālā lietojumprogrammas iestatījumus var apvienot. PrefixLookupMaxCount netiks ietekmēti, ja lietojumprogramma globāli vai lokāli HighPerformance līmenis ir iestatīts uz DWORD 1.

6. jautājums

Pieņemiet, ka lietojat lietojumprogrammu, kas ir balstīts uz .NET Framework 4.5, .NET Framework 4.5.1 vai .NET Framework 4.5.2. Lietojumprogrammas izveidošanas izņēmums pārvaldītā metodes tika izsaukts no vietējā kodu un tika pieņemts COM interfeisa atsauci. Šādā gadījumā lietojumprogramma var avarēt.

Piemēram: lietojumprogramma, kas ir rakstīti VB6 c# DLL izsauc. Ja programmu un DLL ir apkopoti laidiena režīmā, c# kodu tiek pieļauts izņēmums, rodas piekļuves pārkāpuma un avārijas.

7 problēma

Kad darbplūsmas XAML projektiem ilgāku laiku nekā noklusējuma nomu (piecas minūtes) attālo objektu, kas nosaka ēkas XAML uzdevumi, tiek parādīts kļūdas ziņojums, kas līdzīgs šim:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.XAML.targets(193,5): kļūda XC1000: XC1020: XAML MSBuild uzdevums veidot kļūda: "objekts" / cc8d6dcf_823f_4ce0_aaad_fb1d3f85e42b/mzr1is8dfgy6yqtpnhegu6pt_4.rem "ir atvienojies vai nepastāv serverī."

Pēc šī labojumfaila lietošanas varat definēt nomu laiku (minūtēs), nosakot vides mainīgo ar nosaukumu XamlBuildTaskRemotingLeaseLifetimeInMinutes.

Iestatiet vides mainīgo MSBuild projekta failu, jums ir projekta failā ietver šādu informāciju:<Project ...> <UsingTask TaskName="MySetEnv" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
<ParameterGroup>
<Name Required="true" />
<Value Required="false" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs">System.Environment.SetEnvironmentVariable(Name, Value);</Code>
</Task>
</UsingTask>
...
...
<Target Name="BeforeBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="1440" />
</Target>
<Target Name="AfterBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="" />
</Target>
</Project>
TaskName šajā piemērā ir MySetEnv. Var iestatīt jebkuru virkni, kas ir derīga uzdevumu nosaukumiem. Šajā piemērā iestata laika nomu 1.440 minūtes (vienas dienas laikā) pirms projekta veidošana un tiek iestatīta uz nulli pēc ēkas. Ja ir vairāki projekti, kas prasa pagarināt nomu laika katra projekta vajadzībām šo konfigurāciju.

8. jautājums

Izmantojot AJAX atpakaļizlikšanas lapā, dažreiz atpakaļizlikšanas ir novirzīta uz citu URL. Varat iegūt RedirectLocation , HttpModule – HttpContext.Items["System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocation"].

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×