Windows Azure Websites: “The Target ‘MsDeployFilePreview’ does not exist in the project

Enige dagen geleden was ik aan het spelen met de Windows Azure Websites. Ik heb een Windows Azure Cloud project met daarin een WebRole. Het was een redelijk simpel project, geen echte afhankelijkheden met Windows Azure, eigenlijk was het een gewone MVC 4 website. Deze kun je nu dus deployen als een Windows Azure Website. Heel interessant omdat er bij een MSDN account een ruim aantal gratis zijn.

Toen ik dat probeerde, kreeg ik deze fout.

2012-06-18 23-50-41

Op twitter begreep ik dat deze fout bij andere ook voorkomt. Ik heb eea voorgelegd aan de Windows Azure MVP mailing list en er kwam een oplossing.

De oplossing is verwijder de file C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets. Daarna run je deze update (http://go.microsoft.com/fwlink/?LinkId=253458). Daarmee is het probleem bij mij opgelost.

Waar het aan ligt, dat weet ik nog niet. Zodra ik daar iets over weet, meldt ik dat.

Microsoft Surface

Nee niet de grote touch tafel, maar een heuse Slate is gisternacht door Microsoft aangekondigd. De aankondiging gebeurde voor Nederland midden in de nacht. Veel nerds zaten op internet te kijken naar de live blogs van ZD net etc. Wat er verteld zou worden was deze keer bij niemand bekent. Dat heeft deze keer goed gewerkt.

Er waren al slates (Samsung, Asus) beschikbaar en enkele fabrikanten (HP) hadden er al een aangekondigd. Tijdens de Build conference vorig jaar kregen allemaal een Samsung slate met Windows 8 developer preview erop.

Maar vannacht is wel een einde gekomen aan de vraag of er wel ARM Windows 8 slates komen. Tot op heden had niemand er een gezien. Er is wel veel over verteld. Maar wat een mooi ding zeg! Het unieke moet zijn, dat in de Touch cover zit een toetsenbord. Briljant idee, hoewel een aantal Android tablets ook al een dergelijke oplossing hadden. Maar niet zo vernuftig als deze.

surface

We zullen nog wel even geduld moeten hebben. De Surfaces komen pas nadat Windows 8 beschikbaar komt. Er zullen er twee zijn: eentje met een ARM processor en eentje met een gewone processor. De ARM zal Windows RT met Office draaien en de Intel zal Windows 8 pro draaien.

Kijk voor de complete keynote

Microsoft Surface Keynote

.

Dat zal begin van een nieuwe periode zijn.

NB Ben wel heel benieuwd wat er nu gaat gebeuren met het ‘vorige’ product met de naam Surface.

Windows Azure Websites (WAWS)

Na mijn vorige blog post kwam de vraag of je een Windows Azure Cloud Service ook kunt converteren naar een Windows Azure Website. Het korte antwoord is, dat is eigenlijk helemaal niet nodig. Een Windows Azure Website is eigenlijk gewoon het publishen van de WebRole naar Windows Azure. De maar die er bijhoort: als je gebruik maakt van settings in de ServiceConfiguration.cscfg dan zal dat niet werken en als je Role specifieke properties gebruikt (bijvoorbeeld RoleEnvironment.CurrentRoleInstance.Id) dan zal dat ook niet werken. Kortom je moet wel goed kijken wat je doet.

Maar hoe deploy je dan zo’n WebRole als Windows Azure Website (WAWS)?

Eerst maken we een WAWS aan. Deze is leeg na de klik op Create Website button.

clip_image002

Vervolgens gaan we naar de details.

clip_image004

En we downloaden het Publish profile.

clip_image006

Die ziet er ongeveer als volgt uit.

clip_image008

Daarna ga je naar Visual Studio 2012 RC. Je doet een rechtermuisklik op de WebRole en kiest voor Publish.

clip_image009

Daarna moet je wizard doorlopen. Eerst moet je het publish profile importeren. Daarna moet je de configuration kiezen, daarna kun je deployment previewen. En als alles klopt, dan kun je daadwerkelijk deployen.

clip_image011clip_image013

clip_image015clip_image017

clip_image019

Dat het deployen dan bezig is, zie je aan de bewegende icoontjes op de status balk van Visual Studio en in het output window.

clip_image020

clip_image022

En als de deployment klaar is, dan zal de website getoond worden.

clip_image024

Niet heel veel anders dan wat we al gewend waren. Een Windows Azure Cloud Service kun je ook op deze manier deployen, maar dan is die niet persistent.

Let op! Als je dit probeert vanaf Visual Studio 2010, dan krijg je deze fout. Waar dat aan ligt, dat weet ik nog niet. Het lijkt mij dat VS2010 of VS2012 niet het verschil moet uit maken.

clip_image026

Windows Azure Website zijn wel iets anders dan Windows Azure Cloud Services. Kijk nog eens naar dit plaatje.

clip_image027

Meer info later als ik er meer mee gespeeld heb.

Windows Azure SDK for .NET Tools 1.7

Zoals ik in mijn vorige blog post al schreef, hoort bij de Spring aanpassingen van Windows Azure ook een nieuwe SDK. Ik beloofde daarop later terug te komen.

De nieuwe Spring release SDK kun je downloaden op https://www.windowsazure.com/en-us/develop/net/ (English) of https://www.windowsazure.com/nl-nl/develop/net/ (Nederlands). Als je hem daar downloadt, krijg je versie 1.7 van Windows Azure tools for Visual Studio.

Door te klikken op de Install button op deze site, krijg je de keuze voor wel Visual Studio je ze wilt installeren. Dit houdt inderdaad in, dat je verschillende SDK’s voor de twee Visual Studio’s kunt gebruiken. Dat kan erg handig zijn.

clip_image002

Aangezien er voor Visual Studio 2010 nog helemaal geen Windows Azure Visual Studio tools waren, kun je met deze versie nu eindelijk ook Windows Azure applicaties bouwen. Let op de WIF (Windows Identity Foundation) zijn nog niet beschikbaar voor deze versie.

Bij Visual Studio 2012 kun je nu kiezen, welke tools je wilt gebruiken. Daarvoor is er een drop down list op het New Windows Azure Cloud Service scherm gekomen.

clip_image004

Wat opvalt als je de tools update geïnstalleerd heb en je opent een ‘oude’ solution, dat er geen foutmeldingen of migration wizard achtig dingen komen. Dat is erg handig, want nu kun je huidige productie projecten gewoon met de ‘oude’ tools onderhouden en is er geen verplichting om te upgraden. Dat bespaart tijd en kosten.

Betekent dat je zelf handmatig moet upgrade dan? Nee. Op de properties page van Windows Azure Cloud Service project zie je het volgende staan.

clip_image006

Als je dan op de button Upgrade klikt, dan krijg je de verwachtte Migration Wizard.

clip_image008

De grootste verschillen zitten in de volgende bestanden.

‘oude’ SDK

clip_image010

‘nieuwe’ SDK

clip_image012

En de properties van het Windows Azure Cloud project staat dan het volgende.

clip_image014

De update van de Tools is wederom een geweldige toevoeging aan de nieuwe Spring release. Erg mooi is het feit, dat beide SDK’s naast elkaar kunnen werken. Dat maakt het eenvoudiger om op een ontwikkelmachine met meerdere SDK’s te kunnen ontwikkelen.

Nog een reden om hernieuwt te kijken naar Windows Azure als je eerder anders besloten hebt.

Windows Azure Renewed!

Sinds vorige week donderdag (7 juni 2012) is de nieuwe HTML portal van Windows Azure live en beschikbaar voor iedereen. Deze nieuwe portal is een verademing ten opzichte van de Silverlight variant. En deze was weer een verademing ten opzichte van zijn voorganger.

http://marcelmeijer.net/blogs/marcel/archive/2010/11/30/windows-azure-1-3.aspx

De eerste portal gaf al gauw het gevoel bij de meeste, dat je de gang stond te schilderen door de brievenbus. Er was toen nog weinig mogelijk.

Maar goed dat was het verleden, wat is er nieuw op de Windows Azure Management Portal.

Hij is nu bereikbaar via de url https://manage.windowsazure.com. En zoals gezegd geen Silverlight meer, maar pure HTML. Dat betekent dat je met je iPad of niet Microsoft mobile device ook je Cloud services kunt beheren. Overigens is deze nieuwe portal nog een preview. Nog niet alle functionaliteiten van de vorige portal zijn overgezet en omgebouwd.

waportal01

Aan de linkerkant zie je alle oude en nieuwe zaken die je via de portal kun regelen en instellen. Degene die we al kennen van de Silverlight portal zijn: Cloud Services, SQL Databases, Storage en Networks. Dit zijn de nieuwe namen voor Hosted Services, Storage Accounts & CDN, Databases en Virtual Network.

waportal02

Websites en Virtual Machines zijn de nieuwelingen. Daarop kom ik in een volgende post op terug. Deze verdienen een eigen stuk. Websites zijn websites zoals je dat nu bij een hosting provider al gewend bent. Virtual Machines (nee, niet gelijk aan de vroeger VM role) zijn nu echte persistent Virtual Machines. Deze zijn niet beperkt tot de Microsoft OS-en, zo kun je ook kiezen voor enkele Linux varianten. Ook is het nu mogelijk om echt SQL Server in de Cloud te draaien, zonder te migreren naar SQL Database on Windows Azure. Hiermee is Windows Azure nog volwassener geworden als Cloud leverancier en bestrijkt het hele spectrum (IAAS en PAAS).

waportal03

(Met dank aan David Pallman voor dit plaatje)

De portal bestaat uit drie stukken. We hebben de header aan de bovenkant. Daarin zitten de functies om snel de belangrijke plekken van www.windowsazure.com te komen. Deze header klapt uit en weg als het de focus niet heeft. In het midden heb je dan het belangrijkste gedeelte van de portal. Bijna alle sub pagina’s tonen in een of andere vorm een grid. Helaas kun je kolom breedte niet aanpassen, maar je kunt wel sorteren door op de titel van de kolom te klikken. Aan de onderkant zit de action bar. Met het grote plus teken om functionaliteit (nieuwe Cloud Service etc ) toe te voegen aan Windows Azure en rechts een info gedeelte. Deze balk moet je wegklikken door op het kruisje te klikken of op het pijltje naar beneden.

waportal04

waportal05

waportal06

 

Als we nu eens inzomen op de Storage, dan is dit al een stukje uitgebreider dan we eerder hadden. We zien alle storage account. We kunnen inzomen op een storage account. In the monitoring chart kunnen we de performance van onze storage laten zien. Let op deze performance monitoring kost transacties en dus geld. Als je kiest voor de verschillende sub pagina’s dan zie je op de action bar nieuwe icons verschijnen. Wat ik persoonlijk nog mis, zijn tools om ook in de Tables, queues of blobcontainers te kijken. Dan heb ik voor het snelle controle werk geen andere tools meer nodig.

waportal08

Op de Cloud Services tab zien we een overzicht van onze services. Netjes uitgelijnd en mooi overzichtelijk. Door een service te klikken gaan je naar de details. Het eerste dat opvalt is de performance meter. Dit is erg handig. Dit scherm heeft heel veel submenus en subpaginas. Ik pik er een paar uit. Zie je ook die TFS publishing link? Je kunt nu heel eenvoudig de Cloud Service deployen vanuit TFS preview. Op de monitor tab kun je metrics toevoegen om nog meer inzicht in de performance van je applicatie te krijgen.

waportal09waportal10

Maar als we naar de Configure tab gaan, dan zien we daar veranderingen waar we gelukkig van worden. Moest je voorheen een setting via de XML van ServiceConfiguration.cscfg aanpassen, met alle gevolgen van dien als je een haakje weghaalde etc. Nu heb je echte invulvelden. Oke, ze zijn nog niet groot genoeg, maar dat zal wel komen. Wil je meerdere instanties? Dan ga je de SCALE tab en met behulp van de slider kun je het aantal instanties eenvoudig verhogen of verlagen.

waportal11

Op de instances tab vind je alle zaken om te connecten naar een instantie of reimage etc.

Op de SQL Databases tab vinden we alles wat we nodig hebben om een database te beheren. Als je op de action bar aan de onderkant op manage klikt, dan kom je in de Silverlight site (voorheen Project Houston) om je database te beheren. Dit zal waarschijnlijk ook wel vervangen worden door een HTML versie.

Als je een nieuwe database aanmaakt, kun je nu de collation van je database kiezen. Verder mis je nog de federation mogelijkheden.

waportal07

De nieuwe portal is veel mooier en veel cleaner qua design geworden. Ook zit hij net even logischer in elkaar. Je ziet het product blijven groeien en verbeteren.

Als je eerder bedacht hebt dat Windows Azure voor jou nu geen oplossing is, dan is het misschien nu het moment om dit eens te heroverwegen. Waarschijnlijk vallen een aantal bezwaren nu weg.

Bij dit alles hoort ook nog een nieuwe versie van de SDK, namelijk 1.7. Daarmee is het nu mogelijk om meerdere versie van de SDK naast elkaar te draaien en te gebruiken. Ook daarover later meer.

Als je meer vragen hebt, dan hoor ik het graag.