Enabling January 2007 Solutions

This topic describes how to enable existing web client solutions (created with the Web Client Software Factory – January 2007 release) to use the guidance package provided in the June 2007 release.

To enable existing web client solutions to use the June 2007 guidance package
  1. Open the solution in Visual Studio. If you have the January 2007 guidance package enabled in the solution, a dialog box appears that asks if you want to remove it. Click Yes to remove it.
  2. On the Tools menu, click Guidance Package Manager. The Guidance Package Manager window will appear.
  3. Click Enable / Disable Packages.
  4. From the list of packages, select Web Client Development, and then click OK. The Guidance Package Manager will enable the guidance package.
  5. Click Close to close the Guidance Package Manager.
To enable Enterprise Library 3.1 features
Optionally, if you want to use Enterprise Library 3.1 features you need to perform the following steps.

Note: To use the Enterprise Library 3.1 Configuration Editor or the Configuration Console, you need to have Enterprise Library 3.1 installed.
  1. Copy the following assemblies from the Microsoft Practices Library folder in the Web Client Software Factory installation directory to the Library folder of your solution:
  2. Microsoft.Practices.CompositeWeb.dll
  3. Microsoft.Practices.CompositeWeb.EnterpriseLibrary.dll
  4. Microsoft.Practices.EnterpriseLibary.Common.dll
  5. Microsoft.Practices.EnterpriseLibary.ExceptionHandling.dll
  6. Microsoft.Practices.EnterpriseLibary.ExceptionHandling.Logging.dll
  7. Microsoft.Practices.EnterpriseLibary.Logging.dll
  8. Microsoft.Practices.EnterpriseLibary.Security.dll
  9. Microsoft.Practices.ObjectBuilder.dll
  10. Microsoft.Practices.ObjectBuilder.WCSFExtensions.dll
  11. Microsoft.Practices.Web.UI.WebControls.dll
If your application uses the Page Flow Application Block, you also need to copy these assemblies:
  • Microsoft.Practices.PageFlow.dll
  • Microsoft.Practices.PageFlow.Storage.EnterpriseLibrary.dll
  • Microsoft.Practices.PageFlow.WorkflowFoundation.dll
Note: Windows will display a message saying that you are about to replace existing files. You can safely replace them.
  1. Update the Enterprise Library assemblies’ version in the Web.config files of your Web sites to 3.1.0.0. To do this, open the Web.config files and replace all instances of the assemblies’ version with “3.1.0.0”.
The following is an example of a portion of code of a Web.config file that needs to be updated. For example, if you have this code:

<section name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=2.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

Replace it with the following:

<section name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

Note: You need to replace all instances of the Enterprise Library assemblies’ version in your Web.config files.

Last edited Jun 6, 2007 at 8:41 PM by matiaswoloski, version 2

Comments

samifahmy007 Aug 31, 2007 at 11:30 PM 
hi there ,
it didn't work with me
i've Install everything on a virtual machine
and redo the migration for the application
While i'm was trying creating new Web Client Solution i got error
Could not load Type ‘Microsoft.Practices.RecipeFramework.Extentions.Actions.OS.CreateDirectoryAction’ from assembly 'Microsoft.Practices.RecipeFramework.Extentions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
i've add the following to C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe.config
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.RecipeFramework.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="1.0.60429.0" newVersion="1.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.ComponentModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="1.0.60429.0" newVersion="1.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="1.0.60429.0" newVersion="1.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.RecipeFramework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="1.0.60429.0" newVersion="1.2.0.0"/>
</dependentAssembly>

It seem now working and i can create new solution and execute different recipes on it

But i'm still facing exception below with migrated solution from WCSF1.0

Microsoft.Practices.RecipeFramework.ActionExecutionException: An exception occurred during the binding of reference or execution of recipe CreateViewCS. Error was: Action AddViewAspxToWebsiteProject failed to execute:
Value cannot be null.
Parameter name: collection.
You can remove the reference to this recipe through the Guidance Package Manager. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: collection
at Microsoft.Practices.RecipeFramework.Library.DteHelper.FindItemByName(ProjectItems collection, String name, Boolean recursive)
at Microsoft.Practices.RecipeFramework.Library.DteHelper.FindItemByName(ProjectItems collection, String name, Boolean recursive)
at Microsoft.Practices.RecipeFramework.Extensions.Actions.VisualStudio.AddItemFromStringToProjectItemByNameAction.Execute()
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName, Dictionary`2 inputValues)
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName)
at Microsoft.Practices.RecipeFramework.Extensions.Coordinators.ConditionalCoordinator.Run(Dictionary`2 declaredActions, XmlElement coordinationData)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
--- End of inner exception stack trace ---
at Microsoft.Practices.RecipeFramework.Recipe.UndoExecutedActionsAndRethrow(Exception ex)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
at Microsoft.Practices.RecipeFramework.Recipe.Execute(Boolean allowSuspend)
at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(String recipe, IAssetReference reference, IDictionary arguments)
at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(IAssetReference reference)
at Microsoft.Practices.RecipeFramework.RecipeReference.OnExecute()
at Microsoft.Practices.RecipeFramework.AssetReference.Execute()
at Microsoft.Practices.RecipeFramework.VisualStudio.RecipeMenuCommand.OnExec()
at Microsoft.Practices.RecipeFramework.VisualStudio.AssetMenuCommand.Invoke()

Any help will be appreciated

Best regards,
Sami