PerSalmi.NET

Swedish .Net software developer...
# Tuesday den 14 October 2008

Idag verkar vara dagen då Silverlight 2 släpps officiellt i RTW-version. Vissa av utvecklingsverktygen för VS2008 kallas fortfarande “RC1”, frågan är vad det betyder i praktiken…

 image

Nerladdningslänkar:

  1. Silverlight run-time
  2. Silverlight Tools
    Add-on for Visual Studio 2008 SP1 for developing Silverlight 2 applications 
  3. Expression Blend 2 Service Pack 1
    Expression Blend 2 SP1 allows you to harness the power of XAML, .NET and Silverlight 2 to deliver compelling user experiences for both connected desktops and the web.
  4. Deep Zoom Composer
    Prepare images for use with the Deep Zoom feature in Silverlight 2
Tuesday, 14 October 2008 11:38:33 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Silverlight | Webb | Verktyg | Visual Studio
# Monday den 6 October 2008

Så kunde tidningsrubriken ha sett ut om det hela hamnat i kvällspressen…

image

Hur går det då till när man blir svårt biten av AutoEventWireup? Jo, just nu jobbar jag med en kund där vi driver flera projekt för att lyfta applikationer till nyare run-time plattform. Just den applikation som vållade rejält huvudbry är en ASP.NET applikation som ska migreras från .Net 1.1 till modern 3.5 miljö. Allt väl så långt, Visual Studio 2008 och den inbyggda wizarden hade inga som helst problem att uppgradera projektet. Det var givetvis en del varningar om uppdaterade APIer för klientscriptblock mm, men det var inga problem att fixa.

Till en början såg det också ut som applikationen fungerade hyffsat, det visade sig dock att så inte riktigt var fallet. Något skumt inträffade när man ville gå vidare och detaljstudera information som laddats från en databas via COM-objekt som inte rörts i uppgraderingen, COM-delarna var C++ baserade och ingick i ett annat projekt. Ok, då är det väl något problem med COM-objekten när de anropas via COM Interop från .NET CLR under 2.0 tänker man och börjar debugga.

Debuggingen tog tid… Allt såg rätt ut på .NET sidan, anropen till COM-lagret gav förväntade resultat tillbaks till .NET applikationen i de första stegen, men i övergången mellan två aspx-sidor verkade något mycket skumt hända. Efter övergången var allt man fick tillbaks från COM anropen tomma strängar. Hade vi lyckats trigga något fel för att vi låg på gränsen till något som ändrats drastiskt mellan .NET 1.1 och 2.0? Nej, verkade inte så… Debugging ner i COM-lagret gav inte direkt några ledtrådar heller. Det hela började kännas mycket skumt. Varför funkade 1.1 versionen av applikationen så bra medan den konverterade 2.0 versionen visade tomma fält utan att generera några exceptions eller felmeddelanden? Allt funkade ju men ändå inte.

Till sist började jag om från början med debuggingen och satte brytpunkter i varenda metod i code-behind filerna för alla sidor som var inblandade i scenariot som uppvisade fenomenet med de tomma fälten. Pang! Där var problemet! För länge sedan hade någon implementerat en Page_Unload metod i code-behind filen och mappat upp eventet i InitializeComponent vilket var påbjudet i 1.1. Sedan hade den utrensning av dataobjekt som skedde i Page_Unload fått gå i pension när applikationen byggdes ut och mappningen av eventet till Page_Unload handlern hade tagits bort medan själva koden för Page_Unload fick ligga kvar, den kunde ju vara bra att ha nångång… I just det här fallet var den inte så bra att ha, vid konverteringen av projektet mellan 1.1 och 2.0 så ändrar nämligen Visual Studio standardbeteendet på inställningen av AutoEventWireup från false till true, det gör i sin tur att Page_Unload koden som legat och slumrat i godan ro nu vakande till och fick chansen att exekvera just vid växlingen mellan två sidor där jag satt och debuggade.

Det är ju klart att om man helt plötsligt kör lite kod som tömmer alla laddade dataobjekt och sen visar de tomma strukturerna i ett formulär så är det inte mycket mer än tomma fält att förvänta sig. Slutsatserna av det hela blir:

  • Använd ordentlig versionshantering
  • Ta bort kod som inte ska användas

Kom ihåg! Du kan plocka tillbaks gammal kod från versionshanteringen om du skulle behöva det, men spar den inte i det levande dokument som koden faktiskt är.

En liten reflektion om sökmotorer som kommer upp just vid denna debugsession är att det gäller att drabbas av ett fel vid rätt tidpunkt, eller man kanske ska uppgradera sina projekt vid rätt tidpunkt. För Google och de andra motorerna prioriterar givetvis träffar som är aktuella tidsmässigt, mitt problem visade sig finnas dokumenterat på en del sidor men de var inte direkt aktuella, det är ju något år sedan uppgradering mellan 1.1 och 2.0 var hett, så jag fick inte träff på de beskrivningar som låg nära mitt verkliga problem med den ändrade standardinställningen för AutoEventWireup förrän mycket långt ner i sökresultaten. Och det är väl knappt någon som tittar längre på sökresultatlistorna än 10-20 träffar neråt… grejer som får sämre ranking än så kan väl inte vara något att ha… :-)

Ett par länkar till info om AutoEventWireup i alla fall då, så det blir lite teknisk slutknorr på detta:

Monday, 06 October 2008 13:16:20 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Visual Studio
# Thursday den 18 September 2008

Nu finns Internet Explorer 8 Beta 2 tillgänglig i svensk version. Just nu ser det ut att vara 32-bitarsversioner för Windows XP och Vista som finns ute, men av länkarna på nerladdningssidorna så är 64-bit varianter på väg.

IE8 Worldwide sites

Välj språk och ladda ner från Internet Explorer 8: Worldwide sites

Thursday, 18 September 2008 10:30:59 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Internet Explorer | Windows Vista | Windows XP
# Saturday den 13 September 2008

Så kan man knåpa ihop en riktigt onödig SideBar gadget som visar hur långt det är kvar till PDC 2008 och samtidigt håller koll på de senaste nyheterna om konferensen…

image

Uppdaterat: Ladda ner på PDC 2008 Countdown SideBar Gadget

Ladda ner här och döp om så den får extensionen .gadget istället för .zip så blir det lätt att installera genom att dubbelklicka: PDC2008CountDown.zip (60,42 KB) 

Saturday, 13 September 2008 01:09:44 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
PDC 2008 | Windows Vista
# Wednesday den 10 September 2008
PDC2008Brain

Sista veckan i oktober drar jag och min kollega på Mats Sjövall till Los Angeles för en vecka på Microsoft PDC 2008, där vi bevakar konferensen för Combitechs räkning. Det ska bli väldigt intressant och säkerligen en hektisk vecka som riskerar att spränga hjärnans informationsbank.

Som det ser ut just nu kommer vi att följa lite olika spår under konferensen för att få maximal täckning av allt material som presenteras, schemat med sessioner är ju inte komplett ännu men det kommer troligen att bli svårt att välja eftersom en hel del föredrag inte verkar annonseras förrän första dagen på konferensen.

Klart är i alla fall att vi även kommer att vara på förkonferensdagarna om Team System och WPF. Jag själv tänkte ta tillfället i akt att se legenden Charles Petzold prata om WPF, men det är ruskigt svårt att bestämma sig.

 

Jag är riktigt sugen på se Concurrent, Multi-core Programming on Windows and .NET med David Callahan, Joe Duffy och Stephen Toub. Får fundera på det valet ännu ett tag.

Av det jag har hunnit läsa igenom om sessionerna så ser det bl. a. ut att bli en del intressant om flertrådad programmering som känns rätt aktuellt just nu. Givetvis är C# 4.0 högintressant liksom nyheter i nästa version av Visual Studio, en del Windows Mobile sessioner blir det troligen också med tanke på att jag sitter i ett uppdrag med Windows Mobile enheter just nu. Sen får vi se vad mer som lockar, Oslo-projektet, cloud-grejer och annat…

Om det är fler som läser detta som ska till PDC så vore det kul om ni hör av er! Vi kommer att bo på Millennium Biltmore Hotel.

Wednesday, 10 September 2008 21:21:19 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
PDC 2008
# Friday den 29 August 2008

Hittade denna plugin för att spela video från SVT Play. På Min Hembio.com har det diskuterats under rätt lång tid men jag upptäckte detta lilla guldkorn först förra helgen.

Ladda ner och installera från Stefan N. på SkyDrive! Tyvärr verkar det bara fungera på 32-bitars versionen av Windows Vista.

Kolla på forumet om ni vill delta i diskussionen: MinHembio.com SVT Play

Friday, 29 August 2008 23:47:58 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Digital Tv | Windows Vista
# Wednesday den 27 August 2008

image

Microsoft har nu släppt SQL Server Express 2008 som släpat någon vecka efter de större varianterna av SQL Server 2008. Nerladdning finns på http://www.microsoft.com/express/sql/download/.

Det här släppet kommer ganska lägligt eftersom jag precis ska börja med en del underhåll och uppdatering av en webbapplikation som bygger på Express-varianten av databasservern.

Wednesday, 27 August 2008 23:53:14 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
SQL Server

image

Nu finns Internet Explorer 8 Beta 2 klar för nerladdning! 

Enklast att hitta rätt version för ditt operativsystem är via Internet Explorer 8 Beta 2 nerladdningslänkar.

För att kolla upp vad som är nytt eller ändrat, se Internet Explorer 8 Beta 2 Release Notes.

Uppdatering! Ta en titt på A Comprehensive Look at Internet Explorer Beta 2 för att få en snabbgenomgång av vad som är nytt i lite trevligare form än den vanliga release notice texten.

Wednesday, 27 August 2008 22:27:39 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Internet Explorer
# Friday den 22 August 2008

Man kan faktiskt underhålla projekt som fortfarande kör under .NET Framework 1.1 med Visual Studio 2008 som utvecklingsmiljö. Eftersom Visual Studio har blivit mycket trevligare att jobba med sedan 2003 versionen så kan det vara värt att kolla in in Jimmy Skowronskis artikel Working with .NET 1.1 in Visual Studio 2008 and Team Server om man måste jobba med .NET 1.1 baserade projekt.

Nu kom jag in på ämnet äldre utvecklingsmiljöer… Jag jobbar just nu med en kund där vi under våren har lyft upp en hel del projekt till Visual Studio 2008 från ett antal olika gamla miljöer det är både .NET och native-projekt. Det är fantastiskt hur mycket bättre utvecklingsmiljön i Visual Studio blivit. Det blir riktigt tydligt när man tar ett hopp direkt från Embedded Visual C++ 4.0 med ett projekt till Visual Studio 2008. MFC kändes dock fräschare 1996 än det gör idag. Så jag är väldigt glad att få all hjälp jag kan av verktygsmiljön.

När jag nu jobbar mer med C++ än på många år så är det att par detaljer som jag slås av. Kompileringstiderna för C++ är definitivt inte roliga, det hjälper inte att 2008 är snabbare än de äldre kompilatorerna. Som min kollega Kalle sa så känns det som flaskhalsen vid kompilering av C++ är hårddiskprestanda medan kompilering av C# kod verkar begränsas av hur snabbt Visual Studio lyckas scrolla output-fönstret för kompilatorns output-meddelanden. Idag blev det extra påtagligt när jag byggde ett litet konverteringsverktyg i C# efter flera veckors C++ hackande. Blixtsnabb kompilering och en GUI-designer för Windows applikationer värd att döda för jämfört med vad man har i C++/MFC-projekt. Utvecklingen går verkligen framåt.

Friday, 22 August 2008 22:47:13 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Visual Studio
# Wednesday den 13 August 2008

image

Roger Westerlund är inte bara systemutvecklare, han är också bloggare. Vår historia går ganska långt tillbaka till tiden då man drev BBS och höll på med Amigadatorer. Numera jobbar vi på olika sidor om skiljelinjen mellan .NET och Java-territorierna, men det är ju en stor fördel att vi har specialistkompetens inom båda områdena vid släktmiddagar och andra familjehögtider då det kan behövas. Jag utgår från att vi kommer att få läsa om en del intressanta observationer framöver, antagligen får han ur sig en del på väg till och från jobbet och vi andra får ta del av det tack vare mobilbredbandsexplosionen. Läs mer om hans öden och äventyr på “I code Java for food”.

Wednesday, 13 August 2008 19:49:54 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Diverse
# Tuesday den 12 August 2008

image

Eftersom vi inte är direkt översvämmade av .NET relaterade evenemang på vår egen hemmaplan här i Linköping så måste jag ge en liten knuff för Heroes {Dotway} Tour. Det ska vara en mikro-konferens i Open Spaces anda så innehållet är upp till deltagarna och deras intressen inom området kring Visual Studio 2008 och .NET Framework 3.5.

Datumet är i alla fall den 1 september:

Tuesday, 12 August 2008 20:21:35 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Evenemang
# Monday den 11 August 2008

image

Nu finns service pack 1 för Visual Studio 2008 klar att hämta från MSDN! Alla nyheter i denna service pack finns beskrivna i denna text: Visual Studio 2008 Service Pack 1 (SP1) Readme

Dels finns service packet som Visual Studio 2008 Service Pack 1 (exe) och Visual Studio 2008 Service Pack 1 (iso) samt i Express Edition med SP1. Om du haft betaversionen av SP1 installerad så behövs VS 2008 Service Pack Preparation Tool för att städa upp din Visual Studio installation innan det går att lägga på den nya releaseversionen av SP1.

Uppdatering av VS 2008 går hand i hand med SP1 för .NET Framework 3.5, ta en titt på ramverkets nyheter här.

Monday, 11 August 2008 18:47:09 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Visual Studio
# Friday den 8 August 2008

Jag vet att jag kommer att sitta och leta efter lösningen på det här problemet fler gånger framöver när teflonminnet slagit till. Det lika bra att posta lösningen här nu direkt medan jag minns även om ingen annan någonsin kommer att behöva den.

Problemet:

Scenariot är att jag har lagt till kontroller på en dialog i ett MFC-baserat C++ projekt för Windows Mobile i Visual Studio 2008 och nu ska koppla kod till events på dessa kontroller. T. ex. en OnBnClick-handler för en knapp. Vanligtvis är det bara att högerklicka på knappkontrollen och välja Add Event Handler… för att få upp Event Handler Wizarden. Men inte denna gång! Istället fick jag ett felmeddelande: “Add/Remove operation is impossible, because the code element C… is read only". Kollade massor av grejer, inga filer var låsta av nån process, omstart av Visual Studio hjälpte inte heller, hittade referenser till att det varit en bugg med detta symptom i VS2005 men att det fixats i SP1 för 2005. Nu var jag ju uppe på VS2008 så det borde inte vara samma.

image

Lösningen:

Det var enkelt när jag väl kom på det! Stäng Visual Studio och gå till Utforskaren och radera sedan projektets .ncb-fil (i denna finns IntelliSense information) som vanligen ligger på solution-nivån på disken samt .aps-filen i projektmappen.

Starta om Visual Studio och ladda projektet, vips så fungerar verktygsstödet för att generera kod utifrån dialogeditorn och alla Wizards startar som de ska igen! Filerna som togs bort skapas om automatiskt när man laddar projektet.

image

Friday, 08 August 2008 14:06:53 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
MFC | Windows Mobile | Visual Studio
# Thursday den 7 August 2008

image

SQL Server 2008 finns nu i färdig releaseversion på MSDN och antagligen TechNet också! Verkar vara högtryck på nerladdningen för det går inte fort… Men nu är den i alla fall ute i 5 olika editions, Developer, Enterprise, Standard, Web och Workgroup. Express Edition verkar vi få vänta på lite till.

Trevligt grepp att ha både x86 och x64 versionerna på samma media.

Kan vara intressant att veta att SP1 för Visual Studio 2008 ska släppas nu den 11:e augusti också, den behövs för att få fullt stöd för utveckling mot SQL Server 2008.

Thursday, 07 August 2008 14:09:33 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
SQL Server
# Monday den 4 August 2008
image

Karl Seguin har sammanställt och släppt sin artikelserie Foundations of Programming som e-bok, det kanske kan vara något som passar i hängmattan om man fortfarande är i semesterläge. I PDF-form är den i alla fall på närmare 80 sidor och ger en kompakt genomgång av DDD, dependency injection, enhetstester, OR-mappning och en del annat.

Monday, 04 August 2008 13:54:56 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Läsning | Utveckling
# Monday den 23 June 2008

Zeta Resource EditorEftersom .NET Framework innehåller bra stöd för att översätta applikationer till olika språk med hjälp av resursfiler i Xml-format och ResourceManager så kan det vara praktiskt med ett verktyg för att hålla reda på ändringar i översättningar. Ett problem är t ex att ett projekt utvecklas i en engelsk version och man skapar då .resx-filer för engelska textsträngar, kanske gör man då en översättning till svenska eller annat språk. Sedan uppdateras projektet och fler strängar läggs till eller tas bort, när man sedan ska uppdatera de olika översättningarna är det svårt att se vilka resurssträngar som tillkommit i den engelska versionen, så man kan inte vara säker på att alla strängar översatts korrekt.

När jag uppdaterar den svenska översättningen av DasBlog jobbar jag med verktyget Zeta Resource Editor hämtat från Code Project, detta verktyg underlättar översättningen genom att presentera de båda matchande versionerna av strängar i två .resx-filer sida vid sida och markerar saknade översättningar. Tittar man bara direkt på Xml-versionerna av resursfilerna så finns det inget som säger att strängarna måste ligga sorterade eller i samma ordning i olika språkversioner, det gör det väldigt jobbigt att hitta nya eller borttagna strängar direkt i Xml-filerna så verktyget gör det mycket enklare.

När man väl har ett bra verktyg att jobba med är det bara att försöka hitta rätt ord på svenska, vilket inte alltid känns helt enkelt… Jobbar man med andra språk än svenska och engelska så har man en del andra detaljer att se upp med, se Språk är svårt.

Monday, 23 June 2008 22:42:48 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Utveckling | Verktyg

image

Ok, eftersom FRA-lagen gick igenom kan det vara intressant att veta att Google Mail och Google Reader normalt inte kör med krypterad uppkoppling. Krypterad anslutning finns dock och är inte längre bort än att man använder https:// i adresserna till GMail och Reader.

Tipset blir därför att uppdatera sina länkar och stoppa in ett “s” i respektive URL.

Använd alltså https://mail.google.com och https://www.google.com/reader istället.

Monday, 23 June 2008 12:36:53 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
Diverse | Webb
Blog & Contact
Per Salmi
Per Salmi
Min LinkedIn Profil

Jag arbetar på Combitech AB i Linköping med konsultuppdrag och utbildning inom Microsoft .NET området. Kontakta mig gärna om ni har frågor, behov av konsulttjänster eller är intresserade av utbildning inom .NET.

Copyright © 2018 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

Sign In
Statistics
Total Posts: 220
This Year: 0
This Month: 0
This Week: 0
Comments: 40

Datorer
All Content Copyright © 2018, Per Salmi