|
 Friday, March 09, 2007

Visual Studio SP1 with Vista


 

At work, we just upgraded our machines to Quad Xeon x64 machines with four gigs of ram. NICE..... :) But for some reason the manufacturer loaded 64 bit XP, even though we requested Vista. We upgraded it to 64 bit Vista quite easily, problem solved.

I did run into an issue while installing Service Pack 1 for Visual Studio 2005. I was attempting to install the SP1 Vista Update and I kept getting this error that told me that the proper "patches" were not in place, therefore the SP1 Vista Update would not install. To resolve this error you have to actually install SP1 (the regular one) and then the update. IMHO the documentation isnt that great in this area, I got confused...  See for yourself:

"For developers using Visual Studio 2005 on Windows Vista, Microsoft provides an update to Service Pack 1 called Visual Studio 2005 Service Pack 1 Update for Windows Vista. 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."

I was taking this as "this is the SP if you're on Vista".

So... to upgrade to SP1 on Vista... do the following:

1. Install SP1

2. Instal The SP1 update for Vista

3. Get you're code on...

#    Comments [0] |
 Monday, March 05, 2007

Tree Surgeon - .NET 2.0 Reference Incorrect

Problem

The .NET Framework reference in the most recent release of Tree Surgeon has an old reference to .NET 2.0 Beta 1. This is in the NAnt.exe.config file.

This will produce results that will not compile when using the <msbuild> task of the NAntContrib Tasks.

Fix

Open the file located in "ProjectName/Tools/nant/NAnt.exe.config" file.

Find this:

<framework 
   name="net-2.0" 
   family="net" 
   version="2.0" 
   description="Microsoft .NET Framework 2.0 Beta 1" 
   runtimeengine=""
   sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}" 
   frameworkdirectory="${path::combine(installRoot, 'v2.0.40607')}" 
   frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.40607')}"
   clrversion="2.0.40607"
>

Then replace it with this:

<framework 
   name="net-2.0" 
   family="net" 
   version="2.0" 
   description="Microsoft .NET Framework 2.0" 
   runtimeengine=""
   sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}" 
   frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}" 
   frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}"
   clrversion="2.0.50727"
>

This will fix the issue and allow you to remove the <solution> task from the default build file that is included in each project generation.

You will now be able to utilize the <msbuild> task in the NAntContrib. See below:

<target name="compile" description="Compiles using the AutomatedDebug Configuration">
        <loadtasks assembly="tools/nantcontrib-0.85/bin/NAnt.Contrib.Tasks.dll" />
        <msbuild project="src\MyProject.sln">
            <property name="Configuration" value="AutomatedDebug" />
        </msbuild>
</target>

#    Comments [0] |
 Friday, March 02, 2007

Running Notepad++ From the command line

I've been using Notepad2 for quite awhile now and was recently introduced to Notepad++. I love saving time by launching Notepad2 by typing "n" into the command line. I save all the "otepad"s through the day. Its small, but hey, I learned it from Scott Hanselman, aka: the master of productivty.

After installing Notepad++ I realized I would never use it unless I could launch it with the same quick draw speed as of my favorite Notepad2. I had to type "Notepad++" in the command window to get it going. No! I had already eliminated the "otepad" and now I had two more characters on that same annoyance.

I fixed that annoyance by making a change to this registry key ...

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Notepad++.exe]

I was able to change it to "nn" (yes, I'm still secretly attached to Notepad2 as we speak, but I'm weaning off of it). Now, I can fire up Notepad++ through the command line with a quick "nn".

Here's the registry file if you want to do it yourself.

Download

Notepad++RunFromLettersNN.zip (.35 KB)

#    Comments [0] |

Gemini Webservice interacting with SharePoint Business Data Catalog

At work we use the Gemini Project Issue Tracker every day. We've a very small team, so we're able to get away with the free license for now. Upper management reviews the status of tickets and bugs and the overall status of any project at any given time. We also use SharePoint to collaborate and share documents throughout our company. We recently upgraded to MOSS 2007 (SharePoint 2007) and with this install comes the Business Data Catalog (BDC). This allows us to link back end systems to MOSS. MOSS provides a good toolset of web parts that YOU DO NOT have to write yourself. If your application exposes a web service or database connectivity, MOSS can consume. This means tons of development time, saved, IF. you can figure out how to write the BDC Application MetaData (XML).

I decided that we should try to implement Gemini into MOSS. Again, to my dismay I had to write some really nasty looking XML, this is the "Application MetaData". The documentation on the BDC MetaData Model isnt that "great" (IMHO) and its difficult and frustrating to write the XML MetaData. Who wants to sit around and write XML all day anyway? bleh. Boring...

I got MOSS to connect to Gemini through the webservice. This example only displays a few actions to prove that we can get data from Gemini.

It allows you to select a Project ID (int) and then the actions of "View Project" and "Open Gemini" will be presented.

How To

To get this to work, you'll have to replace this text: http://PathToYourGeminiSite/webservices/gemini.asmx?WSDL with the actual path to your Gemini Site.

Then import it into your BDC and use the Business Data Action Web Part to display the data.

Screen shots

Application Metadata Info Page

Page as user sees it once the web part is live.

Clicking the "View Profile" link will allow you to see data that is returned from the Web Service (as seen below):

Clicking "Open Gemini" will take you to the Gemini home page in a new window. Clicking "Open Project" will open that projects page in a new window.

Download the MetaData File.

GeminiMetadata.zip (1.07 KB)

#    Comments [0] |
 Wednesday, February 28, 2007

Confluence Tree Surgeon

Mike Roberts over at ThoughWorks have a project to help with continuous integration.

The product is called "Tree Surgeon". Tree Surgeon solves the problem of how to set up a development tree.

"Tree Surgeon is a .NET development tree generator. Just give it the name of your project, and it will set up a development tree for you in seconds. More than that, your new tree has years worth of accumulated build engineering experience built right in."

What the product does is it allows you to specify a project name and the application will create a development tree for you (code generation). This tree includes a solution, the tools (NUnit, NCover, NAnt) and a build file and script to execute the build. It saves TONS of time when creating a new project and needing to add it to your build.

Example

Creating a new development tree:

This will generate this tree structure:

Inside of the "ExampleApplication Folder" we have the build and the go script. The "go" script compiles, runs NUnit and NCover. Its the workhorse of the system. Run this from the command line. If you want to see the results while in a command window, I'd advise editing the go.bat file and adding @pause at the end of the script so you can see the results before the window closes.

The solution for the project is located in the 'src' directory:

You can execute the go.bat file and it will complile, and run NUnit and NCover on your application.

The best part about this is that its all configurable. Edit the cs.vm files in the C:\Program Files\Tree Surgeon\Resources\Templates directory and you'll be able to affect the output of the code generation. Plus, its all open source, so you can get the code from the site.

This could help a lot of companies get up and running with a development tree in their source control.

*Note: Currently Tree Surgeon only exports C# files.

I'll be writing more about Source Control Management as time continues... stay tuned.

#    Comments [0] |