Category Archives: developing

Blurry WPF editor in Visual Studio 2008

A short post this time…

Ever wondered why Visual Studio 2008’s WPF editor shows up kinda blurry on your CRT monitor? It turns out it’s a WPF control itself (as you had probably already guessed). But did you know that this also means it makes use of ClearType, even if you haven’t got an LCD monitor hooked up? Read all about it at Todd Mancini’s blog.

Visual Studio 2008 and SQL Server 2005 Business Intelligence Development Studio

As soon as Visual Studio 2008 went RTM I installed it and removed Visual Studio 2005 from my system. As you might know VS2008’s new multi-targeting feature can target .NET Framework 2.0, 3.0 and 3.5 and should be fully backwards compatible with VS2005, so in theory there shouldn’t be any need for keeping VS2005 around*.

However, today I encountered an unexpected situation where I did need VS2005. I tried to launch the SQL Server 2005 Business Intelligence Studio, which failed miserably… As you may know Business Intelligence Studio makes use of the VS2005 IDE (it uses either an existing “normal” Visual Studio installation or it installs the Visual Studio Premier Partner Edition). I knew this, but I had expected it to somehow automatically (or magically :-)) switch to the VS2008 IDE, which ofcourse it did not.

Unwilling to re-install SQL Server 2005 I searched the internet for a solution to this problem and stumbled on a thread on the MSDN forums discussing this exact same issue. It contains an interesting reply by Microsoft employee Dan Jones. There he explains a way to install the VS2005 files need without the need for re-installing SQL Server 2005. Here’s the trick:

  1. Go to the location for SQL Server setup and run .ToolsSetupvs_setup.exe. This will install the VS Shell.
  2. Repair the Business Intelligence Studio installation by running the following command from the command line from the .Tools directory (note: this should be typed on one line):
    start /wait setup.exe /qb REINSTALL=SQL_WarehouseDevWorkbench 
    REINSTALLMODE=OMUS

I hope this helps some of you facing this same issue.

* In practice I recommend you still keep VS2005 installed, especially when doing team development. If you open a VS2005 solution in VS2008, it will ask you to convert existing solution files to the new VS2008 format. Once converted, these updated solution files cannot be used in VS2005 anymore.I actually asked Scott Guthrie a question about this on his blog and even got a reply from him. Here’s what he had to say (for the original reply search the comments on this blog posting):

Hi Leon,

> Hey Scott, I noticed VS2008 wants to
> convert my existing VS2005 solutions.
> Why? The problem is that the converted
> solutions cannot be opened in VS2005 anymore,
> which some of my team members still use. I
> thought VS2008’s multi-targeting support didn’t
> require me to have VS2005 installed anymore,
> but now I still have to install them side-by-side.

VS 2008 allows you to target .NET 2.0 projects, but does make some changes to your solution file (that prevents it from being opened with VS 2005). What you can do, though, is maintain two solution files that point to the same projects and have them work with both VS 2005 and VS 2008.

Here are some blog posts that cover this more:

www.west-wind.com/…/122975.aspx

stevenharman.net/…/multi-targeting-vs2005-and-vs2008-web-application-projects-a-gotcha.aspx

codebetter.com/…/enabling-team-development-with-vs2008-2005-mix.aspx

Hope this helps,

Scott

Yeah Scott, it did!

SharePoint Content Deployment and Migration API Deep Dive

Here a quick post which could be regarded as a note to self, since one of my current projects involves migrating SharePoint content 🙂

Recently I stumled on an interesting series of blog posts written by Microsoft employee Stefan Goßner about the SharePoint Content Deployment and Migration API.

Here are the links to the articles:

I don’t know if Stefan is planning on writing more articles in this series, but I know I’ll be monitoring his interesting blog from now on…

Visual Studio Tips ‘n Tricks

Microsoft employee Sara Ford, Program Manager for CodePlex, keeps a list of interesting Visual Studio tips and tricks.

I’ve learned some handy new tricks, like this and this one.

Oh, and here’s a shocker: did you know that there’s no Ctrl+F in books?

Cool e-book: The Web Part Infrastructure Uncovered

The Web Part Infrastructure Uncovered coverA while ago I did some proofreading for Teun Duynstee‘s e-book The Web Part Infrastructure Uncovered. I found it a very good read. In fact I think it is one of the most thorough books available on the subject, even though it only has 135 pages. This e-book has been available for some months now, but since I just recently started blogging I thought I might spend a blog entry to it. With SharePoint 2007 now using the .NET Framework 2.0 Web Part technology as one of its core technologies, knowledge about this framework has become more and more important.

Teun sells his book online through Lulu.com. The price is €14.00 (ca. $17) for the printed book (+ shipping & handling) or €9.00 for the downloaded PDF (ca. $11) which is peanuts considering the book’s useful content.

I recommend this e-book to every .NET developer that’s working with or interested in Web Parts. You can check out some sample chapters here and here.

Cool Surface video

Today I stumbled on the blog of the Microsoft Surface team. Although there are only a few entries as of yet, they did put up a pretty cool video showing the ScatterView control from the Surface SDK. Amazing what you can do with only a few lines of XAML code and data binding!

http://images.video.msn.com/flash/soapbox1_1.swf
Video: The Microsoft Surface SDK In Action

Visual Studio 2008 is RTM for MSDN subscribers!

The moment we Microsoft developers have been waiting for has arrived! Microsoft Visual Studio 2008 has been released on MSDN for MSDN subscribers! Go get it while it’s hot!

Oh, and while you’re at it post a list of your favorite resources for getting up to speed with VS2008 on this blog and you can win some nice prizes, like Vista Ultimate, Office 2007 or Halo 3.

Update: I see both ScottGu and Soma have put up blog entries about the release.

Hello from TechEd Developers 2007 in Barcelona!

Well, a little later than expected, but here it is… my first posting from TechEd Developer 2007 in Barcelona, Spain. In the little time I have between all the interesting sessions I mainly try to keep our company blogs up to date, so until now I haven’t had the time to post to this blog…

Me and my colleagues arrived in Barcelona on Sunday. We had a short sight-seeing tour in a bus an saw all the city’s highlights, like the Sagrada Familia, the Olympic Village on Montjuic, the Gaudi houses (Casa Battlo and Casa Mila), the Christophor Columbus statue etc. I can really recommend Barcelona, it’s a great city!

Monday was the first TechEd day. The keynote started at 14:00, so me and some colleagues decided to do some more sight-seeing in the morning. We went to the Sagrada Familia, Gaudi’s famous church, which we had visited the day before. This time we bought a ticket and could go inside. I was really impressed by the architecture. Also the method used to design/construct the various towers and arches was very interesting. Go see it if you’re in Barcelona.

For now I’ll leave you with the photos I’ve made. I’ll blog about the sessions I’ve attended at a later time.

http://www.flickr.com/photos/7197016@N04/sets/72157603196031332/

Generating GUIDs in the Visual Studio IDE

If you’re programming on Windows you’ll often come across a situation where you have to generate a new GUID. In fact I find myself generating new GUIDs more than ever! I used to use them only for COM/ActiveX and Windows shell integration stuff. Nowadays however I spit out several GUIDs a day, especially for projects involving WiX and SharePoint. In fact, I tend to use them everytime I need a unique identifier. Here’s one I’ve generated especially for this blog post:

{1B87C5E2-0818-4c21-ADFC-741E8D8C1B3D} 😉

The classic tool of choice for generating GUIDs is ofcourse GuidGen.exe, which ships with all the major Microsoft SDK’s and can also be started from the Tools menu of Visual Studio. GuidGen is a small tool which gets the job done, but somehow I have never gotten used to it. I don’t like the fact that I have to leave the Visual Studio IDE to use it and that I cannot control the output format of the GUIDs GuidGen generates. For instance when using WiX you need to use GUIDs without the accolades, which means that a GUID generated by GuidGen needs some editing before it can be used. Yawn…

In the past I was a pretty avid Borland Delphi programmer. One of the nice things of the Delphi IDE, and one that I used very often, was that you could press the keyboard shortcut <ctrl> + <alt> + G and it would place a fresh new GUID at the cursor’s position in the source code editor. I really missed this functionality in Visual Studio.

Fortunately Visual Studio can be easily customized using macro’s and it was easy hacking together a little macro that does the job. I’ve used it for several years now and shared it with many colleagues and friends. Here it is:

Sub Create_GUID()
    Dim sel As TextSelection
    sel = DTE.ActiveDocument.Selection
    sel.Text = System.Guid.NewGuid.ToString("D").ToUpper()
End Sub

Just add this macro to Visual Studio and assign it to the keyboard shortcut of your choice. I use <alt> + G, since the original Delphi shortcut I mentioned above is already in use by Visual Studio by default (it point to the Debug.Registers function).

Ofcourse you can easily modify this macro to suit your personal needs. If you like the way GuidGen bakes ’em, here it is:

Sub Create_GUID
    Dim sel As TextSelection
    sel = DTE.ActiveDocument.Selection
    sel.Text = "{" + System.Guid.NewGuid.ToString("D").ToUpper() + "}"
End Sub

Or maybe you prefer underscores instead of hyphens:

Sub Create_GUID
    Dim sel As TextSelection
    sel = DTE.ActiveDocument.Selection
    sel.Text = Replace(System.Guid.NewGuid.ToString("D").ToUpper(), "-", "_")
End Sub

Or you might be a lower-case fanatic:

Sub Create_GUID
    Dim sel As TextSelection
    sel = DTE.ActiveDocument.Selection
    sel.Text = System.Guid.NewGuid.ToString("D").ToLower()
End Sub

Anyway, I think you get the point…

Updated VS2008 Beta 2 VPC’s released

Microsoft has re-released the expiring Visual Studio 2008 VPC’s that I blogged about before. Get them while they’re hot!