PerSalmi.NET

Swedish .Net software developer...
# Thursday den 6 August 2009

Ok, då var det dags att ta ner det färdiga Windows 7 RTM versionen som precis släpptes på MSDN/TechNet.

image

Windows 7 ser just nu ut att vara tillgängligt i följande editions:

  • Starter (endast för x86)
  • Home Basic
  • Home Premium
  • Professional
  • Enterprise
  • Ultimate

Det finns även Windows SDK tillgängligt direkt för nerladdning, trevligt för ibland har det dröjt lite extra innan SDK har släppts men nu ligger de ute samtidigt.

Ultimate och Starter är de två varianterna jag tänkte installera först på min Dell Latitude E6400 respektive Asus Eee PC 901.

Thursday, 06 August 2009 19:22:57 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Windows 7
# Tuesday den 28 July 2009

NäraNerladdningsChef

Man undrar verkligen hur sånt som på bilden ovan kan slippa ut ur testlabbet. Det är ju inte så svårt att räkna ut vad den engelska textens betydelse var, men ett företag av den storleken borde väl ha råd att korrekturläsa nån gång då och då?

Tuesday, 28 July 2009 21:22:33 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Diverse
# Friday den 24 July 2009

För de som inte har Visual Studio Team System i sin MSDN prenumeration kommer nu en intressant extra present när Expression Studio 3 släpps. 

image

Den nya Expression Studio 3 finns nu med som en del även för de som har Visual Studio Professional med MSDN Premium prenumeration. Så nu kan fler använda Expression Design och Expression Encoder! Nu kanske detta inte leder till några direkta mirakel för hur WPF och Silverlight applikationer kommer att se ut framöver, med tanke på att de flesta utvecklare jag träffat på, inklusive mig själv, brukar betrakta sig som mer eller mindre odugliga när det gäller att få grafik att se riktigt bra ut i de gränssnitt som byggs… Men man kan väl alltid hoppas.

Friday, 24 July 2009 01:20:21 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Verktyg | WPF
# Wednesday den 22 July 2009

imageEnligt Brandon LeBlanc på Windows Team blog så trillar RTM versionen av Windows 7 ner hos TechNet och MSDN prenumeranter den 6:e augusti. Det är det engelska versionen som blir tillgänglig då, andra språk kommer den 1:a oktober.

Kanske det ändå blir ytterligare en installation med RC utgåvan av Windows 7, den här gången på min netbook. Hade tänkt vänta med att installera om den tills RTM-versionen kommer men det får nog bli tidigare.

En intressant fråga som jag funderar kring är vilken edition av Windows 7 som kan passa bäst på en netbook… Kanske inte en full Ultimate installation är det bästa med tanke på att resurserna på en Asus EEE Pc inte är oändliga.

Wednesday, 22 July 2009 00:08:04 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Windows 7
# Monday den 18 May 2009

Nu uppdaterad med nerladdningslänkar för alla som saknar MSDN prenumeration!

Visual Studio 2010 beta 1 finns nu tillgänglig för utvecklare med MSDN-prenumeration. Den väntas bli tillgänglig för alla från Microsoft Downloads på onsdag 20:e maj.

image

Det ska bli riktigt intressant att se hur studion utvecklats sedan PDC i höstas.

MSDN har för tillfället separata nerladdningar för betaversioner av

  • .NET Framework 4.0
  • Visual Studio 2010 Team Suite
  • Visual Studio 2010 Professional
  • Visual Studio Team Foundation Server 2010

Ramverket kommer både i fullversion för x86 och x64 processorer samt i den nerbantade sk client profile-versionen. Som tillbehör för Team System finns också testverktygen Test Load Agent och Test Load Controller.

Nerladdningar för alla:

Monday, 18 May 2009 19:29:57 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Visual Studio
# Monday den 11 May 2009

Kollade just på det livesända keynote föredraget från Microsoft TechEd 2009 via webben. Det var inte mycket nyheter för utvecklare, troligen en effekt av att PDC och MIX gick nyligen, kanske spelar det in att man gått tillbaks till det sammanslagna formatet med både utvecklare och IT-proffs under samma vecka. Jag hade hoppats på att de skulle släppa Visual Studio 2010 Beta men det mest intressanta för utvecklare var en annonsering att en förhandsversion av Sql Server 2008 R2 kommer mot slutet av året. Även Office 2010 kommer i en testversion under året. Intresserad? Kolla på Office 2010 the Movie.

image

Annars var det en del om releasekandidaterna av Windows 7 och Windows Server 2008 R2. Man jobbar tydligen hårt på att förbättra drivrutiner i Windows 7 nu, framför allt för grafikkort. Det är också samarbete på gång med Intel kring strömsparfunktioner och optimering av flertrådade applikationer. För övrigt var det upprepning av saker som BitLocker to Go, boot av VHD-filer.

Mot slutet övergick det till några demos av virtualisering och Exchange Server 2010.

Vill man hålla koll på det som händer under veckan så är TechEd Online ett hett tips tillsammans med bloggar på TechEd Blogs eller Twitter.

Vi får väl hoppas att det dyker upp lite coola nyheter för .NET-utvecklare längre fram i veckan.

Uppdaterat! En bra sammanställning av nya produkter som visats/pratats om på TechEd finns på: Roadmaps for Major Products Announced at TechEd

Monday, 11 May 2009 22:04:14 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
TechEd
# Monday den 4 May 2009

Idag råkade vi på ett något märkligt problem på en utvecklingsdator där vi just hämtat ut ett projekt som innehåller en Linq To Sql modell. Vid kompilering av delprojektet med .dbml-filen fick man felmeddelandet "Could not retrieve the current project." utan vidare ledtrådar. Projektet byggde perfekt på andra datorer med identisk kod.

image

Någon exakt bakomliggande orsak har vi egentligen inte hittat men det finns massor med referenser till liknande felmeddelanden hos andra användare av Visual Studio 2008 SP1. Problemet är relaterat till modelldesignern eller hur verktyget som genererar koden bakom modellen fungerar.

Men vi fann en lösning!

  1. Stäng Visual Studio
  2. Öppna en Visual Studio Command Prompt från startmenyn, ligger under Visual Studio 2008 –> Visual Studio Tools.
  3. Kör kommandot:
    devenv /ResetSkipPkgs
  4. Öppna projektet igen och öppna även din databasmodell, dvs .dbml-filen, i designern
  5. Spara .dbml filen för att den ska generera om koden
  6. Kompilera hela projektet

Detta fungerade för oss och var enklare än det alternativa förslaget vi hittade, att ominstallera hela VS 2008 inkl SP1.

Monday, 04 May 2009 12:45:50 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Linq | Visual Studio
# Thursday den 30 April 2009

Helgen räddad? Ja, kanske, Windows 7 RC finns nu på MSDN/TechNet downloads för den som är prenumerant. Det som ligger ute nu direkt är x64 och x86 versioner tillsammans med SDK, debug symboler och driver kit.

image

Jag vet i alla fall att denna rätt snabbt kommer att hamna i både utvecklingslaptopen och den lite mer klent utrustade Asus EEE Pc 901 som ligger hemma och väntar med sin numera hopplöst föråldrade Beta 1 version.

Thursday, 30 April 2009 15:14:46 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Windows 7
# Wednesday den 29 April 2009

Felsökte en ASP.NET applikation som har sitt ursprung i version  1.1 av .NET Framework idag för att utreda varför en nybyggd funktion som bygger på ASP.NET Ajax med UpdatePanels inte fungerade.

Problemets symptom var att UpdatePanelen alltid gav en total omladdning av sidan, inga events lyckades få panelen att göra en partiell uppdatering. Ett inte helt ovanligt problem om man googlar lite på problem i samband med UpdatePanel.

Boven i dramat då? Jo, eftersom det handlar om ett webbprojekt som uppdaterats från äldre ASP.NET till 3.5 så har web.config fått en automatisk sättning av XHtml kompatibilitet som inte funkar bra ihop med ASP.NET Ajax.

Se till att du kontollerar att xhtmlConformance är satt till något annat än “Legacy”, använd tex “Transitional” eller “Strict”.

image

Wednesday, 29 April 2009 16:03:32 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Webb
# Wednesday den 22 April 2009

Ett problem som dyker upp som utvecklare när man uppgraderar Internet Explorer till version 8 är att en del projektwizards i Visual Studio 2008, och även i 2005 om man kör den, slutar fungera. Till exempel avslutas wizarden för att skapa ett nytt smart device projekt med felmeddelandet “Project creation failed.” nere i VS statusbar. Bakgrunden till problemen är att projektwizards i t ex MFC C++ och Smart Device / Mobile projekt i C++ är beroende av att använda delar av Internet Explorer och att kunna köra ActiveX kontroller, dessa körs av Internet Explorer inne i Visual Studio och med nya IE8 fungerar inte dessa wizards pga ändringar i säkerhetsmodellen i IE.

Lösningen som finns består i att man lättar på begränsningarna i den speciella säkerhetszon som finns just för dessa Visual Studio wizards. Vad som behöver göras är:

  • Starta Regedit (Obs! om du använder 64-bitars operativsystem ska du köra 32-bitars Regedit)
  • Gå till registersökvägen HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones
  • Skapa en ny nyckel och döp den till 1000 om det inte finns en sådan nyckel redan
  • Under denna nya nyckel skapar du ett DWORD-värde med namnet 1207, typ REG_DWORD och datavärdet 0x00000000

 image

Nu ska wizards för att lägga till funktioner, lägga till variabler, nya smart device projekt i C++ och att lägga till klasser i smart device projekt fungera igen!

Wednesday, 22 April 2009 19:42:39 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
C++ | Internet Explorer | Visual Studio
# Thursday den 16 April 2009

imageHar du lättare att lära dig med hjälp av bilder? Daniel Solis har skrivit en bok som lär ut grunderna i C# på ett lite annorlunda sätt än de vanligaste böckerna om programspråk. Hans bok heter Illustrated C# 2008 och går igenom kärnan i C#, fokus ligger på att förklara koncept som typer, minne, variabler, klasser och språkkonstruktioner i objektorienterad programmering samt moderna C# delar som t ex extension methods.

Daniel går vidare med kapitel om delegater, event. Boken avslutas med ett kapitel om generics som grundläggerl en introduktion till LINQ och till sist ett kapitel om grunderna i flertrådad/asynkron programmering.

Den som är intresserad kan faktiskt läsa boken gratis, Red Gate har gjort det möjligt att ta del av boken i PDF form helt gratis, ladda ner e-boken från: Red Gate - Illustrated C# 2008

Uppdaterat 2009-12-28: Tyvärr finns inte e-boken tillgänglig längre. Man kan dock hitta bästa pris här.

Thursday, 16 April 2009 12:38:35 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
C# | Kompetensutveckling | Läsning
# Wednesday den 25 March 2009

imageDen 1:a april kör Microsoft en on-line version av sin TechDays serie, under 24 timmar går ett antal sessioner, demos och labbar.

Konferensen är gratis men vill du delta så måste du registrera dig i förväg. Gör ett besök på TechDays Defy All Challenges Home Page om du är intresserad. Jag tänkte kolla in en del sessioner eftersom jag inte kunde delta på den svenska versionen som gick i Västerås för någon vecka sedan.

Lite av det jag tänker se:

  • WEB401 In-depth MVC
  • DEV301 Maintaining Resilient Code: Using Tools from Microsoft's DevLabs and Research Sites
  • WEB303 Cranking ASP.NET Performance to 11...the Easy Way!
  • DEV314 Beyond the Core Concepts of Object-Oriented Programming
  • WIN300 Scripting the Microsoft .NET Framework Using Windows PowerShell
  • WIN305 How Windows Presentation Foundation and Databinding Are Best Friends
  • WIN303 Using the Composite Application Guidance for Windows Presentation Foundation
Wednesday, 25 March 2009 17:52:39 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Kompetensutveckling
# Thursday den 19 March 2009

imageEtt tips till den som ska vidareutveckla eller underhålla C# applikationer som bygger på Linq To Sql modeller!

Ta en titt på http://www.huagati.com/dbmltools/, det är en plugin till Visual Studio 2008 som ger bra möjligheter att fixa vanliga underhållsuppgifter i .dbml filer.

Exempel på vad man kan åstadkomma snabbt och enkelt utan att generera om hela modellen med SQLMetal eller behöva ta till utvägen med ta-bort-och-lägg-till-igen-och-gör-om-alla-mappningar i O/R Designern är:

  • Lägga till klasser för nya tabeller/vyer
  • Uppdatera namn på kolumner
  • Byte av typer på kolumner
  • Använda regler för att snygga till namnen på klasser och properties i modellen automatiskt

Ändringarna som pluginen gör är inte raketforskning när man analyserar dem, det går mycket väl att använda samma teknik som man använder vid handskrivna entitetsklasser, men det är väldigt smidigt att kunna göra ändringarna med ett verktyg.

Thursday, 19 March 2009 15:22:06 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | Entity Framework | Linq | Visual Studio
# Tuesday den 17 March 2009

Veckans konferenser, både MIX 09 i Las Vegas och den svenska upplagan av TechDays som går i Västerås hoppas jag ger upphov till en del kul nyheter. Tyvärr blev det inte något deltagande på TechDays, lite synd eftersom det inte är så ofta vi har såpass stora event i Sverige. Att IE 8 ligger bra till för att släppas i skarp version i veckan är kanske inte en högoddsare, men det jag egentligen hoppas på är en uppdaterad CTP av Visual Studio 2010. Kanske för mycket att hoppas på… men man vet aldrig.

image En grej förutom Silverlight 3 som det antagligen kommer nyheter om från MIX är Microsoft Web Platform, det ryktas om en portal för att hitta färdigpackade applikationer klara att installera för att snabbt komma igång med innehållshantering, bloggmotorer och andra typer av applikationer.

Vi får se, enklast blir väl att ge sig till tåls och kolla på MIX09  Web Design and Development Conference, March 18 – 20, 2009 samt hålla utkik efter videosessioner som ska finnas tillgängliga inom 24 timmar efter att livesessionerna gått.

Nej, nu är det dags att fylla iPoden med Dag Königs TechDays Radio avsnitt inför bilresan imorgon.

Tuesday, 17 March 2009 22:08:37 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Webb

Varför är det så att en del problem dyker upp igen och igen när man sitter och utvecklar och varje gång man letar efter lösningen känner man igen sig väldigt väl… lite för väl? Till sist slutar det med att man kommer på vad det är och inser att detta har jag bråkat med förrut, fått frågor om och till och med hjälpt andra med flera gånger under de senaste åren. Ja, det är väl just detta kriterie som gör att en fråga hamnar på en FAQ lista och ställs gång efter gång.

Hur var det nu med COM Interop då? Jo, just detta teknikområde tycks rymma oändliga möjligheter att glömma nån liten detalj och sedan sitter man och felsöker och timmarna bara rusar iväg.

image Dagens scenario var en .NET assembly med några interface som skulle anropas från en native-klient på en testmaskin med en nära nog produktionsmässig installation av operativsystem och verktyg. Det är nästan lustigt hur felsökningen långsamt letar sig fram till en lösning. Först testas det på en utvecklarmaskin, där det förstås fungerar. Sedan börjar någon gå på spåret att det kan vara rättigheter som saknas, nähä, inte det heller. Är det verkligen rätt fil vi installerar, det är ju mer än en gång man trott det men haft fel… Man tänker så det knakar, pratar med fler kollegor, börjar gräva i registryt… Skumt, inget spår av den aktuella GUID som borde finnas där. Men vi har ju gjort registreringen av komponenten om och om igen, fram och tillbaks. Nåväl, efter lång felsökning och en god portion frustration, tankar kring att implementera en annan lösning utan COM och lite andra mindre framgångsrika försök hittades felet och avhjälptes under stort jubel. Projektkollegan som hade spenderat mest tid med felsökningen tyckte att lösningen borde vi nog skriva upp och rama in för framtiden. Vi får se om en bloggpost kan vara jämförbart med en inramning.

En .NET assembly som innehåller ett COM gränssnitt och ska bli åtkomlig från COM klienter ska genomgå följande steg för att man ska undvika frustration:

  • Registrera .NET assemblyn för att COM-runtime systemet ska kunna lokalisera den
  • Generera ett COM Type Library för att klienten ska kunna interagera med de publika typer som finns i assemblyn
  • Driftsätta assemblyn antingen i samma katalog som klienten eller i Global Assembly Cache 

Verktyget för att göra detta är RegAsm. Syntaxen är som följer:

Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.3074
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

Syntax: RegAsm AssemblyName [Options]
Options:
    /unregister          Unregister types
   
/tlb[:FileName]      Export the assembly to the specified type library and register it
    /regfile[:FileName]  Generate a reg file with the specified name instead of registering the types. This option cannot be used with the /u or /tlb options
    /codebase            Set the code base in the registry
    /registered          Only refer to already registered type libraries
    /asmpath:Directory   Look for assembly references here
    /nologo              Prevents RegAsm from displaying logo
    /silent              Silent mode. Prevents displaying of success messages
    /verbose             Displays extra information
    /? or /help          Display this usage message

Hade vi inte använt RegAsm då? Jodå, men den lilla väsentliga parametern /tlb hade fallit bort.
Enklaste fallet att registrera och generera rätt Type Library blir så här:

C:\dotnet>RegAsm MyNETAssembly.dll /tlb

Observera att verktyget TlbExp också finns tillgängligt men det skapar enbart type library filen utan att göra korrekt registrering av den. Så RegAsm är trevligare.

Nu återstår att se hur länge det tar att felsöka nästa gång det händer… Men “lagen om att det inte får gå för lätt” kommer väl nu att slå in och se till att det blir ett annat problem vi får leta efter nästa gång.

Tuesday, 17 March 2009 21:23:32 (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
.Net | COM
# Saturday den 14 March 2009

image Gänget bakom MSDN Managed Newsgroup Support har startat upp ett projekt för att bygga upp en Visual Studio Solution med kodexempel för C#, VB och C++. Nu är det ju inte unikt att det publiceras exempelkod, men att ha en enda källa som tar ett samlat grepp på ett antal grundläggande teknikområden och låter de ingående exempelprojekten samspela och kombineras i alla tänkbara varianter känns fräscht. Det är ofta man hittar exempel som går i en riktning tex interop från C# klient till C++ server medan det man egentligen letar efter är det omvända. Här vrider man och vänder på de flesta kombinationer!

Anledningen att jag fastnade för projektet direkt jag såg det är att vi under ganska lång tid jobbat med ett brownfield (C++) system där olika delar bytts ut och strukturerats om och därmed har nya delar gjorts i managedkod (C#), jag tror knappt det är någon variant av interop som inte varit inblandad i det hela. Hade detta funnits och våra google-master-skills hade låtit oss hitta det förra sommaren så hade det varit perfekt.

I dagsläget finns följande tekniker med i projektet:

  • COM & ActiveX
  • Dataaccess
  • Office-anpassning
  • Klassbibliotek
  • RPC & IPC

Kolla in All-In-One Code Framework på CodePlex. Förhoppningsvis kommer det att växa med massor av exempel, tekniker och kombinationer ganska snart. Förresten, det vore inte dumt att blanda in Windows Mobile i leken också för att öka på antalet möjliga kombinationer i de fall det är teknik som är tillämpbar på telefoner och handenheter.

Saturday, 14 March 2009 00:57:07 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | C# | C++ | VB | Visual Studio
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