July 2005 - Posts

VistaDB -- Not quite ready for prime time with ADO.NET 2.0

I checked out VistaDB recently after seeing some posts about people that have started looking at it using .NET.

If I based everything on the marketing that is on their website, I would have probably just bought a copy but I download a trial version of it and found the following things:

If you try to do something like this:

DbProviderFactory _dbProviderFactory = DbProviderFactories.GetFactory( “VistaDB” );

You get this error:

Unable to find the requested .Net Framework Data Provider. It may not be installed.

So I did a little digging and found out why this doesn’t work and a few other things:

  • They do not ship a DbProviderFactory
  • They do not ship a DbConnectionStringBuilder
  • VistaDBCommand does not inherit from DbCommand
  • VistaDBCommandBuilder does not inherit from DbCommandBuilder
  • VistaDBConnection does not inherit from DbConnection
  • VistaDBParameter does not inherit from DbParameter

These are the ones that I found right off the bat that kept VistaDB from working with an ADO.NET 2.0 Framework.
I am guessing that this was ADO.NET 1.1 code and that they compiled it under 2.0 and shipped.

It sounds like a nice product.  I will try downloading a trial again after another release and see if these things are fixed.

 

“Indigo” is now called the Windows Communication Foundation

[via Christian Weyer]

“Indigo” is now called the Windows Communication Foundation

 

Posted by dotnetboy2003 | with no comments

Continuous Integration for Visual Studio 2005 Team System beta 2

Dion Olsthoorn has been kind enough to post his experiences (and code) with trying to get VSTS support Continuous Integration.
This is one of the things I think is really missing from VSTS and it would be very nice if it was integrated into the final release… smile3

[The following is from Dion’s posting]


As you may or may not know, the current beta 2 version of Visual Studio 2005 Team System only supports manual team builds against the Team Foundation server. I think the final release of VSTS is going to support scheduled builds (e.g. nightly builds), but I don't think continuous integration will be supported (because Microsoft don't practice CI themselves).

However my company enforces their developers to use Continuous Integration on all projects, so I had to build a CI process for Team System myself.
I thought it was a good idea to share the results with you :)

I enabled continuous integration by setting up a scheduled MSBuild project that runs every 5 minutes. It includes 4 custom MSBuild Tasks I've created (also see Visio drawing at the bottom):

  • CheckWorkspaceUpToDate : Checks if any files were changed on the local server workspace since last run. Uses the h.exe (as of Hatteras) command.
  • StartTeamBuild : Starts a Team Build by calling the BuildContoller.asmx WebServices (thanks to Aaron Engel for sample code)
  • GetUnexaminedBuild : If available, returns a finished build from Team Foundation where build quality is "Unexamed". The status of this build will be notified to all team members using messenger, and the build's build quality will be set to 'Notification Sent'.
  • MessengerNotification : Task to send an arbitrary message through MSN messenger (using SendMSN that uses the DotMSN library; thanks to James Simmonds and B.Geertsema)

Because you're all such nice people, I decided to share my code and binaries. Download it here.

To run this Continuous Integration process on your own server, take the following steps:

  1. Create a Team Build using the wizard in Team System (if you already have created a Team Build, skip this step).
  2. Create a workspace on your server, and map your project's repository-folder to a local file folder on that server. Do a 'Get Latest' on this folder.
  3. From the downloaded zip, extract "Macaw.MSBuild.Tasks.dll" and "DotMSN.dll" (or build them yourself). Add these libraries to the GAC.
  4. From the downloaded zip, extract "/MSBuild Examples/ContinuousIntegration.proj" and put this somewhere on your hard disk (e.g. c:\teambuilder)
  5. Edit the ContinuousIntegration.proj MSBuild project, and change all properties in the <PropertyGroup> to match your environment.
  6. Test ContinuousIntegration.proj (run as argument of MSBuild.exe, which can be found in the .NET framework folder).
  7. If ContinuousIntegration.proj is working well, schedule it to run every 5 minutes: schtasks /create /SC MINUTE /MO 5 /TR [batch file to run] /TN [scheduled task name]. Note: The [batch file to run] should contain a command like: "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\MSBuild.exe c:\teambuilder\continuousintegration.proj".

ContinuousIntegration

Taking a Resharper break

If you don’t know what that phrase means, you might not know what Resharper is.  Resharper is a tool by JetBrains that gave you refactoring support in VS.NET 2003.   The phrase “taking a resharper break” comes from the fact that when you go to open a VS.NET solution file (especially one with several projects) it can take several minutes, even on a fast machine with 2 GB of RAM.  I think I was one of only a few people on my previous team that did not uninstall it. Don’t get me wrong, I DO think it is very slow.  But I loved the refactoring tools that it gave me too much to give it up.

Which brings me to the Resharper 2.0 Beta.  Now I am working on a team that is only using VS.NET 2005.  I noticed that Resharper 2.0 has a version out for VS.NET 2005.  It was unclear on their site what features Resharper 2.0 would give me over what I already had in VS.NET 2005.  But last night, I installed in anyway…

Things that seem to be new: 

– Run Unit Tests (Doesn’t seem to recognise VSTS unit tests)
– Debug Unit Tests (Again, doesn’t seem to recognise VSTS unit tests) 
– A File Structure view that allows you to see your class by regions. (Basically just a fancy CTRL-M CTRL-O)

Things that don’t work so well

– When I Encapsulate a field in Resharper, it is not smart enough to realize that if my field is called “_isNullable” then I probably want my property to be called “IsNullable”.  VS.NET 2005 is smart enough to know this.
– Going along with the item above, Resharper does not give me the option of
– I get all kinds of red squigglies signifying errors in my code because Resharper does not handle Generics very well at all.

Getting back to the title of this post, I thought for sure that I read that JetBrains was going to make Resharper 2.0 **NOT** require preloading of all types in all assemblies before opening my VS.NET solution.  I was mistaken.  I still have to take a resharper break… 

Well, I do realize that this product is still in beta and maybe I will give it another try in a later beta or full release if I can see some justification for doing so.  But in the mean time, I am uninstalling Resharper and going back to just VS.NET 2005. 

VS.NET 2005 has a lot of the features people have been asking for and works very well for a beta release.  The VSTS features are especially cool but I know not everyone is going to be using that functionality.

Posted by dotnetboy2003 | 7 comment(s)
Filed under:

Composite UI Application Block - Community Technical Preview - Released!

http://practices.gotdotnet.com/news/newsitem.aspx?id=22f72167-af95-44ce-a6ca-f2eafbf2653c&newsId=08c0b667-20c5-4ff6-9474-26a4de9c5a2b

Microsoft patterns & practices is pleased to announce the release of the Composite UI Application Block - Community Technical Preview 1.

Check out the bits from the Downloads section, let us know what you think!

Send us your feedback to pagcabfb@microsoft.com

Thanks to everybody in this Community who has been following the development of this guidance offering.

patterns & practices Smart Client Team

Posted by dotnetboy2003 | with no comments
More Posts