Tuesday, October 7, 2008

"VSTestHost.exe has stopped working" on VStudio 2008 and Windows Vista

del.icio.us Tags:

So I'm working on a unit testing application for the first time in several weeks and I can no longer execute any unit tests within Visual Studio Team System 2008 Development Edition.  The following error message shows up when I try to run any test:

image

When I click Debug I get the following additional information:

image

The application can no longer run any unit tests.  Presently the system is running Windows Vista SP1 with Visual Studio 2008.

Apparently a stack overflow in your application can cause this problem, but I’ve not been able to trap this exception in my code.  The application does compile on another developers system out of our source control repository.  The only online reference I’ve found for this is a post from Tim Hibbard which recommends to “just stop the VSPerfMon.exe process and you can continue testing without rebooting your computer.”  This solution worked for me, but I wish the error message was more explicit.  Where exactly did this error occur – my code or Microsoft’s?

Tuesday, July 22, 2008

InfoPath 2007 Programmability Disabled?

Have you ever had that experience with a Microsoft product where you receive a detailed error message that does not immediately suggest a recommended course of action?  Have you also experienced that satisfaction of finding 12 relevant links in your search results for the exact error message?  And then you try the solution they all recommend, only to discover that the "error" you are chasing is a required limitation of some configuration change you made yourself?

So InfoPath 2007 and Microsoft's Office SharePoint Server 2007 play together very nicely.  In fact, MOSS 2007 offers a feature where you can host InfoPath forms within your portal and remove the requirement for the InfoPath client on the end users workstation! This has the potential of making ASP.Net CRUD form developers obsolete.  However, if you choose to host xsn document in Forms Server - the so-called browser-enabled form templates - "script and deprecated object models are not supported."  So how am I going to get date math into a browser-enabled form?

Turns out, I’m not…

Monday, July 14, 2008

Architectural Lifecycle

In an architectural review we would typically study the business domain and infrastructure thoroughly in order to envision the "ideal solution" for the business. This will never be fully realized, but the comparison of today's reality to a complete description of the optimal environment is critical. This analysis will allow you to craft a strategy that delivers the majority of the ideal system value with the least amount of infrastructure change and organizational adjustment. In addition, a value-oriented approach will focus on an iterative or incremental implementation plan, the life force behind Agile methodologies, to deliver business value quickly with a progressive evolution toward the ideal. Finally, the ideal vision must be revisited periodically to assess accuracy and adjust for changes in the business direction or landscape. 

This article will serve as the first in a series of posts outlining my approach for an architectural review and share the outcomes of my newest customer engagement.  The series will be comprised of the following minimal phases:

  • Today's Business Domain - The "As Is" Picture
  • Architectural Requirements - The Strategic Business View
  • The Ideal Solution - In a Perfect World...
  • The Gap Analysis - Find the Missing Business 'Enablers'
  • Value-Oriented Roadmap - Progressive Evolution
  • Agile Methodology - Optimizing the Development Process
  • Revisiting Your Ideals and Requirements

Those of you familiar with Agile software development will likely recognize this lifecycle as a close parallel to iterative approaches like SCRUM.  Indeed, the similarity is quite intentional.  The delivery of various solutions within an enterprise in this fashion reduces risk and allows the business to focus efforts on the most significant value.  The Architecture Lifecycle should allow for the same feedback and flexibility within the technology strategy so that the collection of systems as a whole fully and optimally addresses the business strategy; and business strategies evolve quickly in today's world.

My hope is to share some of the successes as well as frustrations I'll encounter on this newest project so that others will be able to evaluate their own Architectural Lifecycle and perhaps elicit suggestions from readers where I find myself challenged.  Feedback is always welcome.  Before you add a comment however, ask yourself this: "How does the development approach within my organization correlate to the systems (or enterprise) architecture?  How do these two disciplines fit together in my world?"  I'd be very curious to hear your answers...

Wednesday, April 23, 2008

Don't Overlook Obvious Requirements

So I was working on a mockup for a Silverlight application based upon a prospective customer's proof-of-concept kiosk use case scenario yesterday and made a rather dramatic blunder.  I put together a barebones wireframe mockup of the use case so that the internal team could discuss the user experience and start to develop our vocabulary about the business process.  I shared the wireframe with some team members and was surprised by one of the first questions posed: Will the kiosks have Internet connectivity?... Doh!!

Needless to say we're back to the table with the customer with this and other questions to be resolved before we pursue further design work.  Since it was a proof-of-concept and it was based upon an inherently web-based technology, I assumed that the customer would understand the infrastructure requirements.  But you know what happens when you assume...

Monday, April 14, 2008

CMAP Code Camp

del.icio.us Tags: ,,

The Central Maryland Association of .Net Professionals held their third Code Camp event in Columbia, MD on Saturday, April 12th and the event was outstanding! I attended the event along with several of the AIS Columbia staff. I got to see several valuable sessions including:

  • Introduction to WPF by Mark Lindell - Mark provided a primer on the value and issues involved with eXtensible Application Markup Language (XAML - pronounced 'zam-el'). The presentation was heavily influenced by Adam Nathan's great book on the topic: Windows Presentation Foundation Unleashed.
  • Applied Business Intelligence by Tom Snider - Tom's session really served to clarify some of my thinking around dimensional analysis and data modeling as well as introduce me the to cube generation tools in Visual Studio 2005/SQL Server 2005. These tools are quite powerful. I wonder what SQL Server 2008 has in store for us in terms of Business Intelligence?
  • Introduction to LINQ by Scott Allen - This broad survey of the various LINQ (Language INtegrated Query) flavors focused on those that are of primary interest to the majority of developers: objects, SQL, XML, and Entities. One of the best tidbits to come from this session was a recommendation for a free utility called LINQPad. With this tool I can now write a LINQ expression against a live database, execute the command and even translate my code to the equivalent TSQL command for comparison! This utility is initially a little confusing without the accompanying book from the author, but after reviewing a lot of other online resources the sample code included in the utility made a lot more sense.
  • LINQ to SQL in an N-Tiered Application by Steve Michelotti - Steve composed a rather ambitious presentation covering a lot of ground on LINQ to SQL. He built (with snippets) a data entry application that manipulated contact information. I found the closing section on migrating from the default SQL generation mode to SQL Stored Procedures the most enlightening. It now seems reasonable to use LINQ for this purpose, but Steve also pointed out a lot of potential traps in child collections that I need to investigate further in order to fully grok. Too much for 1.25 hours!

Wednesday, March 5, 2008

Visual Studio Magazine Feature on Entity Framework

The March issue of Visual Studio Magazine covers the ADO.Net Entity Framework with some depth. The article, written by Roger Jennings, includes some sample code and references several valuable links including the download locations of the ADO.Net Entity Framework Beta 3 and the ADO.Net Entity Framework Tools December 2007 CTP 2. Jennings pays homage to Dr. Peter Chen who authored a groundbreaking article for the ACM on Entity Relationship Models in 1976 and a link to the original paper is definitely worth a visit for a deep understanding of Microsoft's philosophical approach to ORM.

Tuesday, March 4, 2008

Entity Framework Podcast Available on Hanselminutes

Scott Hanselman, who recently joined Microsoft, is still running his independent podcast and has recently published a show on the ADO.Net Entity Framework. The great thing about this episode is not the depth to which he and guest Mike Pizzo explore the features of the Entity Framework, but rather the survey of data connection technologies available in the world of .Net 3.5 and how they relate to one another. Indeed, the show starts with Scott's question to his guest - "Which technology is right for which types of applications?" What follows is a fairly succinct and helpful comparison of the features of LINQ to SQL, LINQ to objects, LINQ to Entities, and even a quick detour into LINQ to DataSets.

Pizzo is a Principal Architect with Microsoft working on the Entity Framework implementation and is quite well-spoken on the topic. To download the show or find out more, follow this link.

Monday, March 3, 2008

New Job, New Blog

So I joined a new consulting firm last month and I'm just now getting my personal blog operational. Some of the delay is attributable to a horrendous case of the flu for most of February; some of the delay was caused by a rapid ramp up for a new potential client looking for a solution proposal in short order; mostly I was just busy getting to know my way around the company and MOSS 2007.

I find the process of blogging to be extremely beneficial when I need to retain the low-level understanding of a new technology explored on a weekend long deep dive and also as an exercise in technical writing that keeps the writing juices flowing for that next short-turnaround RFP response. The subjects I intend to explore in the next few months will not be entirely new for me, but I hope to uncover some new dimensions of the following tools:

  • Microsoft Office SharePoint Server 2007 (and WSS 3.0)
  • ASP.Net AJAX
  • The ADO.Net Entity Framework (and other ADO.Net 3.5 techologies)
  • Visual Studio 2008
  • Windows Server 2008
  • SQL Server 2008
  • Silverlight 2.0 & WPF
I know there will be insufficient time to dedicate to all of these endeavors, but I think all of these offerings from Microsoft promise to enable .Net developers to deliver distinctive solutions.