UK DPE WPF WMF

Beyond this truly epic acronym is a video done by the Microsoft UK DPE team about WPF and corporation between designers and developers in practice. Since I am dealing with WPF for a while I also looked at Microsoft Expression Blend which is coming soon.

“The UK MCS User Experience team and a number of UK partners have been working on WPF for over 12 months and this Real World WPF series is intended to show some of their work and capture/share some of their learnings. Nick Page talks to Martin Grayson and Paul Tallett from the UK MCS User Experience team about their experiences working on real world WPF applications and specifically how Designers and Developers have worked together on these projects.”

The Panel

Another new download featuring WPF examples:

“The Panel is the place to collect showcases of new user experiences and provide insights on how they were implemented. WPF applications and Windows Live gadgets are featured.”

Visual Studio 2005 Service Pack 1

Some of of the advancements in Service Pack 1 for Visual Studio 2005 which is available for download:

  • “New processor support (e.g., Core Duo) for code generation and profiling”
  • “Performance and scale improvements in Team Foundation Server”
  • “Team Foundation Server integration with Excel 2007 and Project 2007”
  • “Tool support for occasionally connected devices and SQL Server Compact Edition”
  • “Additional support for project file based Web applications”
  • “Windows Embedded 6.0 platform and tools support”

Especially the Core Duo support sound quite nifty to me. However, running Vista you have to wait some more weeks for some additional features.

“For developers using Visual Studio 2005 on Windows Vista, Microsoft is in current development on an update to Service Pack 1 called the ‘Visual Studio 2005 SP1 Vista Refresh Beta’. This update builds on the improvements made in SP1 and delivers a first class experience for developers wanting to take advantages of the new features in Windows Vista. The Visual Studio 2005 SP1 Update for Windows Vista is expected to ship after the consumer availability of Windows Vista in Q1 of 2007 and is now available in bet”

Just in case you are wondering why the two service packs are separated you can find more over here.

How to repair IIS mapping after you remove and reinstall IIS

In case IIS is installed after the .NET framework based on MSDN

"%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -i

also works for the latest Framework versions…

“After you install the Microsoft .NET Framework Software Development Kit (SDK), Microsoft Visual Studio .NET 2002, Visual Studio .NET 2003, or Visual Studio 2005, Microsoft Internet Information Service (IIS) mappings are created to associate the new file extensions and settings for ASP.NET. If you did not have IIS installed when you ran the SDK or Visual Studio Setup, or if you uninstalled and reinstalled IIS after you ran the SDK or Visual Studio Setup, those settings will not be in place. You experience unexpected behavior when you try to view ASP.NET pages.”

 

How to set up Visual Studio for a DSS Service

If you create a new DSS service for Microsoft Robotics Studio that is not located within the MSRS directory you have to adjust some minor settings in Visual Studio 2005. You will realize dssnewservice.exe is a very helpful tool to create new services. If you follow the instructions below, you can set up new services within less than a minute if they are not located within the MSRS directory.

Prerequisites

The first you should set some more environment variables to your system to make development much more convenient. Extend the PATH system variable in System Properties / Environment Variables / Edit User Variable to %PATH%;C:\Program Files\Microsoft Visual Studio 8\SDKv2.0\Bin;C:\Microsoft Robotics Studio (August 2006)\bin;C:\WINDOWS\Microsoft.Net\Frameworkv2\v.0.50727

Edit User Variable

The first is not necessary but makes life easier, e.g. when you want to call tools such as ildasm.exe from command line. The second gives easy access to dssnewservic.exe. The last path is required to use dssproxy.exe later during compile time to gain access to msbuild.exe.

Create a new DSS service

Go to the folder where you want to create the new service. E.g. in C:\Documents and Settings\aheil\My Documents\Visual Studio 2005\Projects\MySolution you can type

> dssnewservice /namespace:My.Namespace.MyProject /service:MyService

Now add this project in your Visual Studio solution. right-click your solution in Solution Explorer and choose Add / Existing Project … Browse to the service created before and choose MyService.csproj.

Setup Project Properties in Visual Studio 2005

Now you can easily set up the properties. Chose Project / MyService Properties … to open the properties tab.

  1. Chose Application and adjust the assembly and namespace name you prefer.

    Application Settings

  2. Chose Build and adjust the Output path. MSRS assumes that you create the service within the MSRS folder. So chose C:\Microsoft Robotics Studio (August 2006)\bin\services to cause Visual Studio to copy the files to the appropriate location.

    Build Settings

  3. Now modify the build events. Since dssnewservice.exe assumed your project to be located in the MSRS directory, the path for the signing keyfile is pointing to a wrong place. Either correct the path to the sample .snk file or use a path to your own key file to sign the proxy assembly. If you don’t, this will result in a error code -1 by the dssproxy.exe during compile time. When the proxies are created msbuild.exe is used. that was by the way the reason to add the third path at the beginning to your environment variables. Otherwise you get a code 3 by the dssproxy.exe.

    Build Events

  4. You will realize, the CRR and DSS references are not available within your project. Instead of removing and adding them again, just select the Reference Paths tab. There browse to the folder C:\Microsoft Robotics Studio (August 2006)\bin and press the Add Folderbutton.

    Reference Paths

  5. Finally sign your assembly. Chose the Signing tab, check the Sign the assembly box and select <Browse>to chose a keyfile to sign.

    Sign the assembly

  6. Press F6 and compile your solution.

Remarks

I’ve tried these steps with several projects, so these steps should also work for you. If you encounter any problems drop a comment. Please be aware of the fact that you follow these instructions on your own risk. So don’t blame me if anything does not work like expected. Also this is not a official support article of Microsoft or the Robotics group. I did write this in my spare time to share some experience with the MSRS community. Also, these steps are supposed to work with the August 2006 CTP of the MSRS.