The rise of configuration and the fall of intellisense

I've been trying work with load testing in VSTS for Testers against what I thought would be a nice simple application, the .NET Pet Shop 4.0 application.  In trying to run the application I hit a Server Error in '/Web' Application - Configuration Error.  It pointed to the ShoppingCartProvider section of the web.config.  Stare as I would, nothing looked wrong.  Debugging the code seemed even stranger as no true line of code produced the error.  I started peeling back code, even adding my own profile provider to replace the shopping cart.  The loading of the DAL assembly seemed to somehow trigger this.  AH HA!  the appSettings had this:

<add key="ProfileDAL" value="PetShop.SQLProfile.DAL"/>

instead of this:

<add key="ProfileDAL" value="PetShop.SQLProfileDAL"/>

 

Here is where this stuff kills me.  Sure I can switch between SQL Server and Oracle (which I do Wednesdays and Fridays), but I hate, absolutely HATE, that I loose the simple fact that if I had but one DAL this would have been a simple compiler error!

.NET Pet Shop 4.0 and Vista

My last post got me past the installer problem.  But I ran into a few more.  Here they are:

1) The install instructions say to just double click InstallDatabases.cmd to run it.  However, that didn't work correctly.  Open a cmd prompt, cd to that directory and run the cmd file from there.

2) Edit the web.config file.  Some settings are self explanatory, but make sure of the following:

<!-- SQL connection string for Profile database -->
<add name="SQLProfileConnString" connectionString="Server=(local);Database=MSPetShop4Profile;Trusted_Connection=true;Connect Timeoout=10" providerName="System.Data.SqlClient"/>
<!-- SQL connection string for Membership database -->
<add name="SQLMembershipConnString" connectionString="Server=(local);Database=MSPetShop4Services;Trusted_Connection=true;Connect Timeoout=10" providerName="System.Data.SqlClient"/>
<!-- SQL connection string for Inventory database lookup -->
<add name="SQLConnString1" connectionString="Server=(local);Database=MSPetShop4Orders;Trusted_Connection=true;Connect Timeoout=10" providerName="System.Data.SqlClient"/>
<!-- SQL connection string for handling transactions on the Inventory database-->
<add name="SQLConnString2" connectionString="Server=(local);Database=MSPetShop4Orders;Trusted_Connection=true;Connect Timeoout=10" providerName="System.Data.SqlClient"/>
<!-- SQL connection string for Orders database-->
<add name="SQLConnString3" connectionString="Server=(local);Database=MSPetShop4;Trusted_Connection=true;Connect Timeoout=10" providerName="System.Data.SqlClient"/>

3) Start the MDTC service.   If you don't, you'll receive an error during checkout.