PerSalmi.NET

Swedish .Net software developer...
# Wednesday den 28 September 2011

Idag upptäckte jag en skum sidoeffekt av att ha installerat Visual Studio 11 Developer Preview sida vid sida med mina andra utvecklingsverktyg. Expression Blend 4 trivs inte riktigt tillsammans med .NET Framework 4.5 och man får problem att starta Blend. Hos mig fick det effekten att man bara kunde starta en instans av Blend, försök att starta fler instanser gav krascher djupt nere i .NET CLR. Efter nån timme gick det inte alls att starta Blend så felsökning var oundviklig.

I Windows eventlogg såg det ut så här:

image 

Om man har dessa problem så finns det faktiskt hjälp att få. Kör följande rader i ett kommandoskal och starta Blend igen utan problem:

%windir%\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "%ProgramFiles(x86)%\Microsoft Expression\Blend 4\Microsoft.Expression.Framework.dll"
%windir%\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "%ProgramFiles(x86)%\Microsoft Expression\Blend 4\Microsoft.Expression.Blend.dll"
%windir%\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "%ProgramFiles(x86)%\Microsoft Expression\Blend 4\Microsoft.Expression.Project.dll"
%windir%\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "%ProgramFiles(x86)%\Microsoft Expression\Blend 4\Microsoft.Expression.WindowsPhone.dll"

 

Tipset om denna lösning hittade jag på Microsoft Connect - Blend 4 krasch vid uppstart.

Wednesday, 28 September 2011 15:04:32 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
Verktyg | Visual Studio | WPF
# Friday den 23 September 2011

Det börjar bli långt fram i veckan nu med massor av nyheter och långa dagar. Vi funderar väl lite på det men är snart inne på att vi måste avsluta med en stark slutspurt, detta är ju sista dagen av konferensen och vi har fyra sessioner kvar att avnjuta.

Vi börjar dagen stenhårt med något som låter enkelt på rubriken “Windows Runtime internals: Understanding Hello World”. Det är inte fullt så enkelt, här snackar vi djupdykning i hur en WinRT App startar upp under en timme med Microsoft Console Debugger - cdb.exe, virtual function tables, Windows Registry och annat smått och gott, mycket lärorikt om hur initiering och uppstart av Windows Runtime ser ut. Kolla själva på Channel 9.

image

Session två för dagen blir om Media fundamentals of a communications app, intressant för att kunna utnyttja telefoni, kamera och video i Windows 8 enheter. Det finns riktigt smidiga APIer för detta i WinRT jämfört med hur krångligt det var att uppnå samma resultat med .NET eller Win32 innan.

Efter lunch drar vi på med en tungviktare till session igen, Deep Dive into the Kernel of  the .NET Framework. Mycket intressant om arbetet med att förbättra .NET kärnan i 4.5, bland annat när det gäller garbage collection och NGen systemet för att optimera prestanda när managed kod översätts till maskinkod i produktionsmiljöer. Bland annat genereras nu native kod images när de behövs baserat på statiskit och inte i förväg för att spara diskutrymme och minska applikationers tyngd i systemet. I .NET 4.5 körs ngen för Metro assemblies och för utvalda .NET assemblies i global assembly cache. Man har även infört att JIT kompilering kan köras om för kodstycken utan att starta om processer, detta gör att man kan instrumenera managed kod med instruktioner för profilering under körning utan att starta om processen som ska monitoreras.

Som avslutning på dagen och hela konferensen gick vi på en session om Architectural discovery with Visual Studio 11. Teamet bakom de olika ALM verktygen i Visual Studio visade upp möjligheterna med nya dependency diagram och hur dessa kan användas för att studer och förstå en stor kodbas och tex utforma utbildningsmaterial för nya utvecklare som snabbt ska komma in i ett projekt.

Efter konferensen var det dags för lite mer teknikspaning på ett flertal affärer, Microsoft Store, Apple Store och Sony Store i Costa Mesa. Vi kostaterar tex att vissa saker som tex Microsofts Arc Touch Mouse är billigare i Sverige än i USA, Apple Store är bland det stökigaste man kan besöka i fråga om ljudnivå och Sony har en del Vaio laptops med grymma prestanda. Nytt personligt rekord i diskprestanda som jag själv uppmätt med winsat i Windows 7 ligger nu på över 920 MB/sekund i läshastighet! Det är ruskigt snabbt. Våra annars toksnabba utvecklingslaptops är stillastående i jämförelse. Kvällen avslutades med packning…

Friday, 23 September 2011 00:01:01 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | BUILD | Windows Runtime | Visual Studio
# Thursday den 22 September 2011

Dagens första session blev inte helt oväntat Anders Heijlsbergs genomgång av framtiden för C# och Visual Basic. Det största och mest kända tillägget till språken är async konstruktionerna, det har ju kommit ut information om async redan innan men nu är det på väg ut i verkligheten med WinRT och .NET 4.5. Med tanke på att så stor andel av alla APIer nu har asynkrona varianter så kommer det att underlätta kod i moderna applikationer betydligt. Anders visade även tre nya attribut för felhantering och trace som gör att man kan inkludera källkodsinformation som filnamn och radnummer i t.ex. ett tracemeddelande.

Det mest intressanta eller omvälvande från sessionen var presentationen av Roslyn-projektet som flyttar ut språkkompilatorerna som tjänster. En serie APIer blir då tillgängliga så att utvecklare av verktyg och språk kan haka in sig och göra intressanta saker som refaktorering, kodgenerering  mm. Demoexemplet var tex att göra en extension till studion som klistrade in utklippt C# kod som Visual Basic kod översatt och klar. Spännande om man gillar att bygga ut sina verktyg. Perfekt för den som vill bygga till smart kodgenerering eller egna refaktoreringar. En CTP version av Visual Studio Roslyn kommer i mitten av oktober.

image

Dagens andra session som skulle bli om “Löst kopplade applikationer med Service Bus – Clemens Vasters” var förstås fullsatt så det blev lite avkoppling och tid att reflektera över veckan som den varit hittils. Ett tillfälle att läsa lite och låta hjärnan varva ner från informationsflödet. Trist men man får kolla på videon efteråt.

Vi lär oss av misstagen och är riktigt tidiga till nästa session om Entity Framework vNext. Riktigt intressant och ser nu ut att kunna konkurrera rejält med NHibernate som vi använder dagligen.

Bland annat kommer stöd för

  • Enums
  • Tablevalued functions
  • Compiled linq
  • Optimized query
  • Multipla diagram
  • Databasprojekt integration
  • Stored Procedures och multipla resultatset

Killarna visade även mer om Code First modellen som funnits ute i testversion ett tag samt nya det nya fluent-API som kan användas för konfigurering. Höjdpunkten tycker jag var migreringar, dvs stöd för att via kod uppdatera databas scheman när det behövs när en ny version ska installeras och uppgradera en tidigare databas med ny funktionalitet. Migrationer genereras i önskat språk. Kodfilerna kan även redigeras för hand och man ska inte riskera att de skrivs över av Entity Framework när man genererar ut ny migrationskod. I närheten av migreringar ligger också reverse engineering av databaser till code first modeller.

Nya datatyper som kommit i SQL Server sedan flera år har nu fått stöd i EF, tex finns nu de geografiska datatyperna med i EF. Datatjänster för access från klienter som telefoner och webbapplikationer finns också via WCF Data Services som kan skapas från en EF modell. DataSvcUtil kan användas för att generera klientproxys mot dessa services, ser smidigt ut vid demo, återstår att se hur det blir i praktiken.

Dagen avslutar vi med en session om tips och tricks i Visual Studio 2010 och 11. Lite lättviktigare avslutning på dagen även om det var högt tempo och del grejer man inte sett innan eller helt enkelt glömt bort. Efter sessionernas slut var det en sk Ask the Experts-stund där massor av medlemmar från utvecklingsteamen bakom Windows 8, WinRT och alla andra tekniker fanns på plats och man kunde sitta ner och prata samt få svar på frågor av de som faktiskt bygger grejerna. Eftersom det närmast uppstått överladdning av nya tekniker under veckan och man inte hunnit reflektera så väldigt mycket var det inte helt självklart vilka som var de rätta frågorna att ställa. Men jag fick i alla fall veta mer om SkyDrive-stödet i Windows 8.

Kvällen tillbringade vi på ESPN Zone där det ordnats med GeekFest, det bjöds på lite typisk plockmat och dryck under trevliga former, man kunde träffa mängder av .NET-folk och utvecklare mer eller mindre kända från tex Dotnet Rocks podcasts.

Thursday, 22 September 2011 23:06:29 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | BUILD

Jag fortsätter med några summeringar av BUILD konferensen, de var menade att postas redan förra veckan medan konferensen pågick men de blev fördröjda av både tekniska problem och tidsbrist.

Dag två började liksom första dagen med ett keynoteföredrag, den här dagen med fokus på utveckling. Främst då med nya versioner av Visual Studio, .NET Framework och DirectX. Scott Guthrie och Jason Zander var de tunga namnen för dagen, mest förtjusning hos publiken gav nog en demo av nya avancerade debugger funktioner där man felsökte ett DirectX baserat 3D spel och kunde hitta ett renderingsfel genom att spåra vägen genom olika filter som presentationen av en specifik pixel hade tagit. Grafiska demos väcker alltid publikens jubel tycks det, så Visual Studios nya grafikeditor blev också populär.

image

Visual Studio 11 som spelar en central roll i alla dessa utvecklingsscenarier har förbättrats i massor med små och stora detaljer, ScottGu visade på en del av nyheterna inom ASP.NET MVC och Async.

Jason Zander presenterade Team Foundation Service Preview som levereras som en tjänst baserad på Windows Azure och alla deltagare fick inbjudan till att pröva tjänsten under ett år.

Steve Ballmer dök upp lite oväntat under sista halvtimmen av keynoten och tryckte främst på att det nu fanns ett utmärkt tillfälle att börja bygga appar för Windows 8 med Metro-stil och att han hoppades kreativiteten skulle flöda fritt. Helt klart är att fokus för framtiden ligger på Windows - Windows 8, Windows Server 8, Windows Azure och Windows Phone! Han avslutade förstås med sin numera klassiska "Developers, developers, developers."

Efter detta började de riktiga tekniksessionerna som går mer på djupet. Det märktes tyvärr att en del hade haft lite bråttom att få ihop materialet. Vi var bland annat på en väldigt kort session om DirectX som inte var speciellt givande, men det skulle ganska snabbt bli bättre. Det var väl egentligen inte meningen att vi skulle på DirectX sessionen heller eftersom vi hamnade på den enbart av anledningen att det var proppfullt med folk på den session vi egentligen ville se. Tyvärr var nog detta en effekt av att allt varit så hemligt ända fram till konferensens början så man hade inte kunnat föranmäla sina intressen speciellt detaljerat. Planeringen av vilka sessioner som skulle komma att dra storpublik var därför lite skev. Man kunde snabbt se trenden att Visual Studio 11, nya Windows Runtime och en del sessioner med folk som har särskilt bra rykte om sig som underhållande och duktiga talare fick man vara väldigt tidig till för att få plats.

Det bästa med dagen var kanske att koncepten bakom Windows Runtime började klarna ganska mycket. Martyn Lovells genomgång “Lap around Windows Runtime” gav mycket och kan rekommenderas för den som är intresserad. Vi avslutade dagen med en session om WebSockets i ASP.NET 4.5 på Windows Server 8. WebSockets kommer att öka mycket i användning framöver när alltfler webbapplikationer börjar utnyttja HTML5 funktioner och behöver snabba, effektiva sätt att få meddelanden pushade ut från servern till presentationen ute i användarnas webläsare. Stödet i ASP.NET 4.5 kändes ganska smidigt att använda, men det som stör är att det var något oklart om det samtidigt krävdes att servern kör på Windows Server 8.

Thursday, 22 September 2011 22:21:37 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | BUILD | Visual Studio
# Saturday den 17 September 2011

Dagen var upplagd så att man skulle få överblick av vad som är på gång från Microsoft i grova drag med keynote och så kallade Big Picture föredrag hela dagen följt av en mingelkväll.

Schemaplanering var inte ett problem den här dagen, det fanns inget annat att välja på än att dricka från brandslangen som en av talarna sa.

Steven Sinofsky och Julie Larson-Green visade upp Windows 8 och det nya Metro gränssnittet där den traditionella startmenyn fått ge vika för ett ganska annorlunda grepp med en sidscrollande fullskärms layout med Live Tiles. Samma layout som tidigare används i Windows Phone 7. Meddelandet är också att man ska kunna köra allt som fungerat på Windows 7 på kommande Windows 8 och att det inte finns något fastslaget releasedatum, man låter kvaliteten styra när det ska släppas som strategin är just nu. Väldigt kortfattat nämner man att Windows 8 även kommer att finnas på Arm-baserade surfplattor och netbooks men det som visas i form av plattor är Intel-baserat förutom en enda platta där man bara kan se Metro-gränssnittet.

image

Man jobbar hårt på att Windows 8 ska vara högoptimerat och effektivt, tex har det i nystartat läge färre processer igång är föregångaren Windows 7 och mindre minnesförbrukning, 281 Mb jämfört med tidigare 540 Mb.

Gränssnittet i Metro-läget är i stor utsträckning tänkt för pekskärmar och man säger att inom några år kommer en skärm som inte stödjer touchfunktioner att betraktas som en trasig skärm. Efter genomgång och uppvisande av massor med olika experimentella PC prototyper meddelas det att alla deltagare kommer att få tillgång till en prototyp PC, kallad Windows 8 Developer Preview PC för att kunna komma igång och labba med Windows 8 och utveckling av Metro applikationer.

Den nya programmeringsmodellen kallas Windows Runtime, eller WinRT i kortform.

image

WinRT utgör en ny grund för att bygga Metro UI applikationer, utveckling sker i C#, VB, C++ eller HTML och JavaScript och alla UI delar byggs i Xaml som därmed har flyttat in i Windows från att tidigare ha tillhört .Net Framework. Alla som jobbat med WPF eller Silverlight har därmed relativt lätt att komma igång med Metro applikationer. Ett uppstädat programmeringsgränssnitt som ersätter Win32 med ganska tydliga influenser från både .NET och COM-systemet, skulle jag säga om det skulle sammanfattas väldigt kort. På bilden ovan ser det ut som .NET har hamnat i skymundan men man ska tänka på att WinRT enbart används i utveckling av Metro-baserade klientapplikationer, på serversidan är det alltjämt .NET som gäller i första hand.

Senare under dagen visas översiktligt hur app-utveckling för Metro går till i Visual Studio 11 Express och Expression Blend som nu växt från att bara vara ett Xaml-verktyg till att även täcka in behovet av bra designverktyg för HTML.

Efter de tre sessionerna med smakprov på Metro och WinRT återstår den smått humoristiska upplevelsen att se 5000 konferensdeltagare köa för att hämta ut prototypdatorerna. Helt galet.

Saturday, 17 September 2011 09:59:44 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
BUILD
# Tuesday den 13 September 2011

Hemlighetsmakeriet kring BUILD konferensen här i Anaheim, USA, fortsätter, inte ett spår av vad som egentligen kommer att hända mer än att det blir sessioner om Windows 8 och ny teknik i närområdet under fyra dagar från och med imorgon. Blir det bara HTML5 nu? Kommer ett nytt utvecklingsramverk att ersätta .NET Framework? Vad händer? Locket är fortfarande på men om ca 9 timmar kommer det att släppas loss!

IMAG0258IMAG0250IMAG0254IMAG0252

Eftersom pre-konferensdagen plötsligt ställdes in för ett tag sedan arrangerade Billy Hollis tillsammans med Telerik en halvdagsworkshop om att bygga moderna användargränssnitt, det var nog bortåt 200 som deltog och vi fick en dragning om att vi nu faktiskt kan och bör tänka utanför boxen när det gället gränssnitt i applikationer. Nu har vi ju både möjligheterna och verktygen för att göra ganska exceptionella gränssnitt med utseende och interaktion som inte varit möjlig tidigare.

IMAG0248IMAG0246

Efter workshopen fixade vi vår registrering på konferensanläggningen som för tillfället var ganska folktom men det kommer nog att bli ändring på det imorgon. Antalet deltagare vet jag inte för tillfället men det ska enligt svenska Microsoft finnas 114 svenskar här. Många av dessa svenskar träffades under kvällen på Marriott här i Anaheim för en liten kraftsamling inför morgondagen. Ryktena om att det kommer att finnas surfplattor med Windows 8 till konferensdeltagarna kan väl nästan sägas vara bekräftade sedan några av killarna på träffen hade råkat gå fel när de registrerade sig och hamnat mitt i en pressvisning av en platta från Samsung. Återstår att se var denna mystiska platta dyker upp nästa gång. Ett ovanligt minimalistiskt set med passerkort, konferensguide där sessionerna är utan ämnen och ett armband delades ut vid registreringen, rätt skönt att slippa kilovis med sponsorreklam! Just den lilla mängden material och att det tex inte var någon väska som delades ut gör det troligt att något annat godis kommer senare under veckan.

IMAG0260IMAG0257

Nu har gänget jag hänger med här delat upp sig på våra olika hotell och det är dags att sova, morgondagen vet vi inte hur den ser ut, men en sak är säker: Utvecklingen går framåt vare sig vi vill det eller inte.

Tuesday, 13 September 2011 09:33:59 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
BUILD
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
Archive
<2018 December>
SunMonTueWedThuFriSat
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

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

Datorer
All Content Copyright © 2018, Per Salmi