During my evaluation of BizTalk Server 2013 and the ESB Toolkit 2.2, I ran into an issue running one of my favorite components, the ESB Management Portal. I followed the set of instructions for installing and configuring the portal which were essentially the same as the ESB Toolkit 2.1 instructions. When I tried to navigate to the home page, I received a number of errors:

    warning MSB3245: Could not resolve this reference. Could not locate the assembly "ESB.BAM.Service.Implementation". Check to make sure the assembly exists on disk.
    warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL".
    warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL".
    Faults\Itineraries.aspx.cs(8,11): error CS0234: The type or namespace name "BAM" does not exist in the namespace "ESB" (are you missing an assembly reference?) [C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal\ESB.Portal.csproj]
    Faults\MessageViewer.ascx.cs(41,11): error CS0234: The type or namespace name "BAM" does not exist in the namespace "ESB" (are you missing an assembly reference?) [C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal\ESB.Portal.csproj]
    DAL\DALHelper.cs(21,13): error CS0012: The type "Microsoft.Practices.ServiceLocation.IServiceLocator" is defined in an assembly that is not referenced. You must add a reference to assembly "Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". [C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.BAM.Service\ESB.BAM.Service\ESB.BAM.Service.Implementation\ESB.BAM.Service.Implementation.csproj]

Stepping through the stack trace, it was obvious that the requirements for the portal did not match what was actually installed on the server. As I started some online research to match up the assembly version numbers to get the correct versions installed, I came across a thread on the BizTalk Forum on the MSDN site where someone had the same problem and had already compiled a set of steps to get the portal working.

All credit goes to Vladimir Kirnishni for finding a fix. http://social.msdn.microsoft.com/Forums/en-US/biztalkesb/thread/8c45dad8-4347-4046-baf6-c850ea89d9c3

Since this will not be the last time I install the portal, I am duplicating the list of steps here for quick access just in case the thread on the forum disappears.

  1. Unzip C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\ESBSource.zip file into the C:\Projects\Microsoft.Practices.ESB folder
  2. Remove Read-only attribute from all files in C:\Projects\Microsoft.Practices.ESB folder.
  3. Download and install Enterprise Library 5.0 from http://www.microsoft.com/en-us/download/details.aspx?id=15104
  4. Download and install Microsoft Report Viewer Redistributable 2008 from http://www.microsoft.com/en-us/download/details.aspx?id=577
  5. In Visual Studio 2012, open ESB.Portal.sln found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal
  6. When Visual Studio 2012 starts converting the solution to the current format, a dialog pops up that warns you about ESB.Portal.Setup.vdproj file not being supported in Visual Studio 2012. Click OK. Wait until the solution opens.
  7. In the Solution Explorer add Microsoft.Practices.ServiceLocation.dll as a reference to the ESB.BAM.Service.Implementation project. This assembly is found in C:\Program Files (x86)\Microsoft Enterprise Library 5.0\Bin
  8. Open web.config file found in ESB.Portal project and remove (or comment out) “scripting” sectionGroup declaration that starts at line 12 and ends at line 20.
  9. Save all files in the solution.
  10. Rebuild ESB.Portal solution.
  11. Close Visual Studio.
  12. Run Management_Install.cmd file found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts

Thanks again, Vlad!