Skip to main content

Posts

Showing posts from May, 2011

Console Application fails on Windows Azure

Last week I was trying to add a console application as a startup task to a Windows Azure project. However each time the startup task was executed it failed with the following error “Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.” It took me some time to figure out that the issue was caused by the Microsoft.WindowsAzure.ServiceRuntime dll which is a mixed mode assembly. When I  commented out some code and removed this DLL reference, everything worked. So what can you do to solve this error? Option 1: Compile your application against the .NET 3.5 framework instead of .NET 4.0. Option 2: Add a "useLegacyV2RuntimeActivationPolicy" to the startup tag generated in the default app.config: <startup useLegacyV2RuntimeActivationPolicy="true"> The useLegacyV2RuntimeActivationPolicy attribute is required for referencing any mixed mode assembly.

Fun Scrum story: Enable and equip your product owners

With the commercialization of Scrum and way too many Scrum but… implementations, I’m happy to read that there are still successful Scrum stories out there. Let me show you one picture from the article: Curious about what’s going on? Read the full story at http://agilescout.com/enable-and-equip-your-product-owners/ .

The power of jQuery: 50 impressive tutorials

Thanks to jQuery, I’m having a renewed interest in Javascript development. Although not everything is as obvious as I would like in Javascript, I’m really loving the way that jQuery simplifies the client side development experience. Last week I found the following link with 50 jQuery tutorials, all amazing samples of the power that jQuery offers to the user.  I’m really impressed about some of the samples and the introduction of HTML 5 will push the limit even further. Some of the samples: Check them all out here: http://css.dzone.com/articles/50-fresh-jquery-tutorials-2011

Building Azure solutions on your build server

Out-of-the-box building your Azure projects on the build server will fail. You probably get an error like below: c:\builds\AzureProject\AzureProject1.ccproj(57,11): error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\Cloud Service\v1.0\Microsoft.CloudService.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. Probably the easiest solution is to install the Windows Azure SDK on your build server. However the SDK installer checks if some components like Visual Studio, IIS, … are available on the server. You can start to install all these components, but then you are polluting your clean build environment. So what is a (better) alternative? The solution we used was to just copy the necessary files and components. This means: Copying the files under  C:\Program Files\MSBuild\Microsoft\Cloud Service\v1.0\ to the same location on your build server.( Program Files(x86) if y

Copy a DLL from the GAC

Need a DLL but you don’t know the exact location? Instead of searching through all your folders, just extract it from the Global Assembly Cache(GAC). Open a command prompt(as an administrator) run > cmd Navigate to assembly and gac folder cd windows\assembly\gac Navigate further down to the desired assembly > dir <assembly name initials> cd <assembly name> Keep on doing this until you find the required .dll file Then copy it copy <assembly dll> C:\temp\ Simple and effective!

Pinify

IE9 contains a nice feature, called Pinned sites . Pinned sites unlock a new set of tools— Favicons , Notifications , Jump Lists , and Thumbnail Toolbars for your IE 9 site inside Windows 7. Although not really a platform independent feature, I still like it. With just a few lines of HTML or JavaScript code , you can use these tools to take advantage of the full power of the PC and extend the web experience beyond the browser and onto the Windows 7 taskbar. If these few lines are still too much for you, have a look at Pinify . It’s a jQuery plugin that simplies the process of adding the pinning functionality to your website. And what’s even nicer is that it does all the browser compatibility checks for you. A quick code sample: <script src="Scripts/jquery-1.5.2.js" type="text/javascript"></script> <script src="Scripts/jquery.pinify.js" type="text/javascript"></script><script type="text/javascript">

Deploy ASP.NET MVC 3 application to Windows Azure

Although I had installed ASP.NET MVC applications on Windows Azure before, I had some problems last week getting everything up and running. The problem was that I switched from the WebForms view engine to Razor. It seems that Razor requires a lot of extra DLL’s that should be installed on your web role. So to simplify this process next time, a reminder for myself. If you are using ASP.NET MVC 3 together with Razor, check that following references are added: System.Web.Mvc.dll Microsoft.Web.Infrastructure System.Web.Helpers System.Web.Razor System.Web.WebPages System.Web.WebPages.Deployment System.Web.WebPages.Razor Afterwards check that “Copy Local” is  “True” for all above modules, like as below:

ALM vNext

Last week at Teched North America , Jason Zanders  announced during the keynote the vision for Application Lifecycle Management (ALM) in the next version of Visual Studio. By adding support for testers into Team Foundation Server 2010, TFS becomes more and more a collaboration tool. Microsoft continues on this path by incorporating two additional important roles: stakeholders and operations. There are a number of scenarios that span the next version of Visual Studio for ALM. These scenarios improve the creation, maintenance and support of software solutions by focusing on improving the workflow across the entire team as well as across the entire lifecycle. Agile Planning Tools – create transparency across the planning process and full team participation through solutions like the new backlog and task board. Lightweight Requirements – a natural way to capture and receive feedback on requirements early in the process. Stakeholder Feedback – working code which matche

Use Fiddler with the Windows Phone 7 emulator

If you didn’t know it yet, I’ve build my own WP7 application . As I’m using oData in the backend, Fiddler is an invaluable tool that helps me debugging all the web traffic. However there is one problem, Fiddler doesn’t seem to work with the Windows Phone 7 emulator. I solved the problem by executing following steps mentioned on Eric Laws blog : Start Fiddler. Click Tools > Fiddler Options. Open the Connections tab and tick the Allow remote computers to connect box Click OK to close the Fiddler Options dialog. In the QuickExec box under the session list, type prefs set fiddler.network.proxy.registrationhostname HostName where HostName is the name of your desktop computer. Close and restart Fiddler. Start (or restart) the Windows Phone 7 Emulator. Open Internet Explorer on the Emulator. Observe, your traffic shows in Fiddler.

Windows Azure Service Dashboard

If you are a little suspicious about the state of your Azure datacenter(especially after the recent debacle with Amazon), you can check the current state of the Azure datacenters on the Windows Azure Dashboard page .

Exporting Microsoft Test Manager Test Results to Word

With the release of Visual Studio 2010 Microsoft introduced a new Visual Studio version called Microsoft Visual Studio Test Professional 2010. This version includes a tool called Microsoft Test Manager that is also a part of the Visual Studio 2010 Ultimate installation. Although it is a really great tool that simplifies the work of the tester a lot, it still has some missing features. One of the areas where it lacks in functionality is reporting. There is no easy way to export the tests, test results, and so on in an easy to use format. Luckily there is a tool named Test Scribe   that allows you to see Test Plan, Test Results, Test Suites, Test Cases, Test Configurations, Test Settings in a Word document which you can also print out. If you didn’t install it yet, go do that first. Using Test Scribe Open Microsoft Test Manager Click on the Testing Center dropdown A new option Tools is added to the drop down list. Select it. Click on Test Plan Summary Selec

Monitor your Team Foundation Server data volumes

Last week I had to solve a problem for a customer were the disks of their Team Foundation Server environment were filling up. One thing that can help you prevent this kind of problems is the TFS Best Practices Analyzer, which is a part of the Team Foundation Server 2010 Power Tools . The Best Practices Analyzer can be used to monitor the health of your Team Foundation Server environment. One of the features it has is the ability to obtain usage data about the volume of data stored or accessed in the past 14 days. This includes specific information about database tables that have a tendency to grow large, and may need to be reduced in size. To run the BPA, select Start -> All Programs -> Microsoft Team Foundation Server 2010 Power Tools -> Best Practice Analyzer. To run a scan for the first time, click the “select options for a new scan” link. You can name the scan, and select the type of scan you want to perform: Team Foundation Server Complete Health Check Tea

Windows Azure Toolkit for iOS

Last week Microsoft announced the release of the Windows Azure Toolkit for iOS. This toolkit contains resources and services designed to make it easier for iOS developers to use Windows Azure. This iOS toolkit includes the following pieces: A compiled Objective-C library for working with services running in Windows Azure (e.g. push notification, authN/authZ, and storage) Full source code for the objective-C library (along with Xcode project file) Sample iOS application that demonstrates how to use Windows Azure Storage with full source code Documentation The Windows Azure Toolkit for iOS—along with all the source code—has been released to github: https://github.com/microsoft-dpe/watoolkitios-lib https://github.com/microsoft-dpe/watoolkitios-samples https://github.com/microsoft-dpe/watoolkitios-doc Some screen casts to get started: Getting Started with the iOS Toolkit Deploying the Cloud Ready Package for Devices During this announcement, they also

Windows Azure Diagnostics Logging

Although the logging functionality in Windows Azure uses the familiar Trace class, some extra steps are required. As I always forget them, a quick step-by-step guide: Step 1: Adding DLL references Remark: If you create a new cloud project and immediately add a web/worker role, the required DLL reference is already added. Open the project you’ll host on Azure and add a reference to Microsoft.WindowsAzure.Diagnostics.dll. This is the dll that exposes the diagnostics configuration and management APIs. Step 2: Register the Azure Diagnostics TraceListener Remark: If you create a new cloud project and immediately add a web/worker role, the required tracelistener is already added to your configuration file. Open your configuration file and add the following config settings: <system.diagnostics> <trace> <listeners> <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, Publi

Ordina Stand out from the crowd on May 26th

On May 26th, Ordina Belgium(the company I work for) is organizing a free technology event. Ordina’s technology specialists will give 21 30 minutes sessions , spread over 5 tracks. The event is free for everyone to join, registration is required. You can register here: www.ordina.be/differentiate . We will have the following sessions for you to attend: Agenda: Stand out from the crowd with Microsoft technology on May 26, 6 pm 30-minute sessions – the choice is yours .Net Visual Studio LightSwitch Building a Windows Phone 7 application: lessons learned C#5 Async SharePoint Automated scripted deployment of SharePoint SharePoint 2010: architectural overview Developing against SharePoint 2010 lists SQL Where .Net meets SQL Server: SQL CLR Extending to multilingual reporting Using geo data within Report Builder 3.0 Application Lifecycle Management Automate your deployment cycle with TFS Build 2010 and Workflow

WPF vNext

Although a lot of announcements were made at PDC around Silverlight 5, it remained awfully quiet on the WPF front. Last week I noticed one small interview with Rob Relyea, the Principal Program Manager Lead for WPF on InfoQ . They elaborated a bit on the Airspace problem and the C++ support but nothing new was mentioned. Is WPF dead?

SQL Azure Reporting

What is it? SQL Azure Reporting enables developers to embed operational reports on information stored in a SQL Azure database, using ReportViewer in remote mode in your applications, with the cloud at your service, and no need to manage or maintain your own reporting infrastructure. SQL Azure Reporting provides many of the features you know from SQL Server Reporting Services 2008 R2 to create your reports with tablices, charts, maps, gauges, sparklines, and more using the familiar Business Intelligence Studio, and deploy them on-premise or in the cloud. Literally take your report anywhere, and scale when and how you need it. Check out the webpage for more info, and sign up for the CTP . How to get started? Once you have signed up for the CTP, an invitation code will be send to you. Go to the Azure Management Portal( http://windows.azure.com ) and click on the Reporting option on the left. Click on the Provision button on the right. Accept the license agreemen

Microsoft Web Camps Training Kit

The Web Camps Training Kit includes all the content presented around the world at the Web Camps events; presentations, demos, labs and more. Inside you'll find content that covers the following technologies ASP.NET MVC 3, jQuery, IE 9 and HTML5, OData, Web Apps, WebMatrix and more! You’ll find the training kit for download here: http://trainingkit.webcamps.ms/Default.htm

WP7 Tombstoning

In the current version of the Windows Phone only one application a time is allowed to run inside the sandbox. While some applications have the ability to run in the background, they are specialized applications that do not run in 'the sandbox'. Our own applications have to live without background processing.  So how do you know if your application is running or not? The answer is simple. For your application to be running, it has to be focused to the screen. In other words, if you can't see your application, it isn't running. Switching away from your application can happen on a number of different cases including: User Presses Back from the first page of your application. User Presses the Home or Search button. User responds to a 'toast' notification. Interruption activity occurs (e.g. Phone call). The fact that your application stops running is called 'tombstoning'. When your application is going to be tombstoned it enters a paused state where your

Climbing Mt. PowerShell

Do you want to learn Powershell in a fun and easy way? Have a look at the  "Climbing Mt. PowerShell" technology comic book. It"’s very well written and the comic book style makes it attractive and an enjoyable reading experience. Next time, I have to write some documentation, I’ll will be doing it in comic style too   Download Climbing Mt. PowerShell (2.2 MB)

Entity Framework 4.1 Problem

One of the great improvements of Entity Framework 4.1 is the introduction of conventions. Unfortunately due to some time constraints the EF team had to remove the support for customizable conventions. Still, there are some default conventions already available. And it was one of these conventions that bit me in the foot last week. I created the following model: public class PizzaIngredient { public int PizzaIngredientId { get; set; } [Range(1,10)] public int Price { get; set; } [Required] public string IngredientName { get; set; } public string Description { get; set; } } and the following context: public class PizzaPlanetMVCContext : DbContext { public DbSet<PizzaPlanet.MVC.Models.PizzaIngredient> PizzaIngredients { get; set; } } However when running the application, the following error message was returned: Invalid object name 'dbo.PizzaIngredients’. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trac

Windows Azure Platform Offer Comparison Table

Having a hard time finding your way through all the Azure offerings? You’re not alone! Then there is for you the Windows Azure Platform Offer Comparison Table (pfew, what a name). All the offerings on one page in an easy to understand table format.

Windows Azure Training Kit April Update

And yes, here we are again with a new update of the Windows Azure Training kit. And with the transfer of Scott Guthrie to the Azure team , I’m expecting to see things move even faster. What is the Training kit? The Windows Azure Platform Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Windows Azure platform, including: Windows Azure, SQL Azure and the Windows Azure AppFabric. The April 2011 update of the Windows Azure Platform Training Kit has been updated for Windows Azure SDK 1.4, Visual Studio 2010 SP1, includes three new HOLs, and updated HOLs and demos for the new Windows Azure AppFabric portal. What’s changed in this update? [New] Authenticating Users in a Windows Phone 7 App via ACS, OData Services and Windows Azure lab [New] Windows Azure Traffic Manager lab [New] Introduction to SQL Azure Reporting Services lab [Updated] Connecti

Community Day 2011 is coming closer…

Never change a winning team. So yes, this year too we’ll have a  Community Day, this time on June 23rd at Utopolis Mechelen. This fifth edition will be the biggest one ever, with more sessions, the best food, great networking opportunities and the best speakers Belgian has to offer. If you don’t know what Community Day is,  it’s a joint event of 13 Belgian user groups bringing you a lot of interesting sessions about a broad range of topics. The following user groups are part of this year’s edition: AZUG BESUG BIWUG IT-Talks Pro-Exchange SCUG SQLUG ACCB.net/VBIB Visug WinSec XNA-BUG DotNetHub MyTIC   Oh, and I almost forgot the most important fact, Community Day 2011 is a free event.

Integration blog series

Yes, we are living in a connected world. Almost no system does live in isolation. So sooner or later you are confronted with some integration scenario’s. Multiple options are out there and which one should you pick? Paul Stovell did a very well written blog series about this. Go check it out! Integration: Scenario Introducing a simple scenario where two applications need to integrate. Part of a series on integration approaches. Integration: Shared Database One solution to application integration is for the applications to just share the same RDBMS. Let's explore the pros and cons of this approach. Integration: ETL Another solution to application integration to use extract/transform/load scripts to move data between the databases. Integration: Web Services A third solution to our integration scenario is for one application to expose web services. How would that work? Integration: Coupling

TechDays 2011: Telerik ‘Just’ announced 2 new products

Last week I was at TechDays Belgium when I noticed the following tweet from the Telerik team: Curious as we are, we hurried to the Telerik booth to hear that they have released 2  new productivity tools: JustTrace and JustDecompile . JustTrace is a performance and memory profiler which can profile .NET 2.0+ (both web and desktop) and Silverlight applications. JustDecompile is a free tool which can decompile, and browse .NET assemblies.(read: a Reflector clone) I’ve just downloaded and installed both of them. So a first review will follow… More information and the official announcement here: http://blogs.telerik.com/blogs/posts/11-04-27/introducing_justtrace_and_justdecompile.aspx .

TechDays 2011: Some great Windows Azure tips

Last week I attended TechDays Belgium . During two sessions about Windows Azure , Christian Weyer gave a lot of interesting tips. AzureWatch The first thing he mentioned was a tool called AzureWatch . This tool enables the automatic scaling functionality that is not available out-of-the box. It monitors your performance counters, instance statuses, queue information and other metrics and passes all this information to some rule engines that can take decisions based on this input.  Most important features are: Automatically scale-up or scale-down your Azure instances based on... Real-time demand using latest values of performance counters Historical demand based on aggregated values of performance counters Rate of increase of decrease in demand Time of day Sizes of Azure queues Instance Ready/Unresponsive/etc statuses Any or all of the above combined Receive email alerts when u

WCF: Certificate EncodedValue

For a new application I’m building I have to use a certificate to connect to the WCF service. I didn’t want to pass the certificate through code instead I wanted to use the configuration model of WCF. I found the following 2 options to specify the certificate. Either you put the certificate in your local certificate store and pass the certificate by using a certificatereference : <identity> <certificateReference findValue="DE74CFE7D20E8DC2B6E6E700E4D2A940CB08B268" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />--><!-- </identity> Another option is to embed the certificate into your application by specifying the base64 encoded value of the certificate: <identity> <certificate encodedValue="MIIGKjCCBRKgAwIBAgIKKwWMaS...TQymi87SNAM9H1dVaIfSysjc9BjhnhFm7HsINtj6S1g==" /> </identity> But how do you get this encoded value? If you are using the svcutil.exe to generate the