Problemer med batch-kompilering i asp.net 2.0

Jeg har hatt litt problemer med mine ASP.NET 2.0 prosjekter i det siste. Fra tid til annen dukker følgende melding opp i browseren:

Could not load file or assembly ‘App_Web_xxxxxxxx, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The system cannot find the file specified.

Det viser seg at jeg ikke er alene. På asp.net forumet har man f.eks. diskutert problemet siden april 2006, men man er ikke kommet noe nærmere en løsning. Microsoft har laget en patch som de sier kan fikse problemet (les deres issue-beskrivelse her), men vil ikke la deg laste den ned uten at du kontakter dem med en supportsak. De sier dessuten at du ikke må installere patchen hvis du ikke har opplevd problemet.., skummelt!

Flere som har forsøkt patchen sier også at problemet ikke ble borte.

Problemet er relatert til kompilering (les om kompileringsmoduser i asp.net 2.0 her), og dukker av og til opp når man har endret en eller annen user control – sansynligvis i kombinasjon med bruk av master pages, hvor sidene, user controllene og master pagen batch-kompileres inn i én assembly.

Og når den først har oppstått er feilen vanskelig å bli kvitt – man må tvinge en rekompilering, og rådene for hvordan man skal gjøre det er mange, men etter min erfaring må man kombinere flere av dem for å få det til. Og det som virket i går fungerer ikke nødvendigvis i dag. Det som fungerte for meg på fredag var å editere master page’n, og samtidig starte en ny bruker session, så jeg kommer til å prøve det neste gang.

Det som er mer skummelt er at det blir rapportert at dette også skjer på produksjonsservere.., med debug=false, og uten at det er foretatt endringer i kode. Det virker på meg som om Microsoft her har en bug de absolutt burde sette mere krutt inn på for å fikse.., dette har nå tatt veldig lang tid, og Microsofts representant på forumet har blitt veldig stille. Hans siste uttalelse kom i juni, og lød:

“Regarding a download of the fix, we don’t ever provide fixes at this stage for public download. (..) Once we go through enough testing, it will be available for download, likely in a SP.”

Det har enda ikke skjedd.

Kategorier: Webutvikling.
RSS feed for kommentarene. Tilbaketråkk.

3 kommentarer til “Problemer med batch-kompilering i asp.net 2.0”

  1. Torbjørn Says:

    Hvis noen lurer på hva jeg gjorde på fra halv tre til fire i dag så kan dere slutte å lure nå. Feilen oppstod nemlig igjen i dag, så da tenkte jeg jeg skulle følge anbefalingene fra asp.net forumet og forsøke å finne en løsning som virket. Jeg gjorde følgende (for hver test opprettet jeg en ny session mot siten):

    * editerte masterpage -> virket ikke
    * bygget websiden på nytt i VS -> virket ikke
    * IIS reset -> virket ikke
    * Rebuild på hele solution -> virket ikke

    Ok, fra nå av er “virker ikke” inneforstått sålenge jeg ikke sier noe annet…

    * Editerte den cs filen som i følge feilmeldingen forårsaket problemet
    * Editerte baseklassen som alle sidene arver fra
    * IIS reset + at jeg slettet alle sitens filer under C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\. Dette var kjempevanskelig, da diverse prosesser holdt på filene. Ifølge forumet skulle dette alltid hjelpe, men ikke hos meg nei.
    * Slettet alle de temporære filene på nytt + at jeg editerte masterfilen
    * Satte debug=false + en IIS reset

    Begynte å bli desperat nå…

    * Editerte default.aspx (som var filen jeg lastet). Andre sider fungerte nemlig.
    * Fjernet “Allow the precompiled site to be updateable” + rebuild av hele solutionen
    * Endret en vilkårlig user control + IIS reset

    På dette tidspunktet begynte jeg bare å editere diverse filer, men ingenting hjalp, men så…

    * Editerte ut koden som feilet -> OG DETTE FUNGERTE (SELVFØLGELIG!)

    …men fikk samme feilen på en annen side tre sekunder senere. I debug-modus så jeg at applikasjonen nå feilet da den aksesserte en session variabel.

    * Endret navnet på session-variabelen -> Det virket!!!

    Men jeg måtte selvsagt endre navnet tilbake igjen, og da virket det ikke lengre.

    * Forsøkte å restarte state servicen -> no luck!

    * Diverse endringer på koden som brukte session variabelen, for så å fjerne alle endringene igjen + en ny build

    OG NÅ VIRKER DET!

    Inntil videre…

    Jeg HATER sånne bugs som oppfører seg forskjellig hver gang — og SPESIELT hvis det er Microsoft som har laget dem!

  2. Torbjørn Says:

    En liten oppdatering:

    Feilen oppstår fortsatt, gjerne 5-6 ganger pr dag, spesielt ofte hvis jeg editerer filer i App_Code katalogen. Og løsningen jeg har kommet frem til virker hver gang: jeg endrer navnet på session-variabelen (nevnt i forrige kommentar).

    Jeg ser ingen grunn til at feilen skulle oppstå eller at fiksen min skulle virke, men jeg har lært meg å leve med det :|

  3. kjempekjekt.com » Blog Archive » ASP.NET patch for kompileringsproblemer Says:

    [...] Jeg har tidligere blogget om et problem med batch-kompilering i ASP.NET 2.0. ScottGu kan i dag melde at de (Microsoft) nå endelig har laget en Hotfix for problemet. [...]

Skriv en kommentar

Tillatte tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Torbjørn: La oss anta to ulike definisjoner av Template Method pattern - de to ytterpunkte...

Lars-Petter: Hei igjen. Siden du inviterer til å ta diskusjonen i bloggen, og har tatt deg t...

Torbjørn: Lars-Petter: Det er én måte å se det på. Det er absolutt fortsatt Template M...

Lars-Petter: Hei. Har du ikke i prinsippet her gått over fra Template Method (arv) til Strat...

Christian Abildsø: I alle fall i C#, så føles dette som kode som blir mer fleksibel men vanskelig...

Torbjørn: Hei Henrik, og takk for tilbudet. Ble oppmerksom på Rasberry Pi for under en uk...

Henrik Sandaker Palm: Ang. større hobby prosjekt. Du er som er en slik rakker på programmering har j...

Øivind Nilsen: Slutt å bruke mobilnummeret mitt som eksempel !...

Bjørn Einar Bjartnes: Jeg har også latt meg fascinere av Clojure, uten at jeg har kommet så veldig l...

Bjørn Einar Bjartnes: Sweet :) Jeg tror egentlig jeg liker det som det er, med musikk. Litt av utford...

Mulig relaterte linker

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • Template Method del 4: Multippel arv
  • Template Method Intermesso
  • Template Method del 3: Bare funksjoner
  • Template Method del 2: På vei mot funksjonell programmering
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (35)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (77)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (60)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (77)
  • Ruby (27)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (20)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta