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=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.ReportViewer.WebForms, Version=22.214.171.124, 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=126.96.36.199, 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.
- Unzip C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\ESBSource.zip file into the C:\Projects\Microsoft.Practices.ESB folder
- Remove Read-only attribute from all files in C:\Projects\Microsoft.Practices.ESB folder.
- Download and install Enterprise Library 5.0 from http://www.microsoft.com/en-us/download/details.aspx?id=15104
- Download and install Microsoft Report Viewer Redistributable 2008 from http://www.microsoft.com/en-us/download/details.aspx?id=577
- In Visual Studio 2012, open ESB.Portal.sln found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal
- 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.
- 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
- 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.
- Save all files in the solution.
- Rebuild ESB.Portal solution.
- Close Visual Studio.
- Run Management_Install.cmd file found in C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts
Thanks again, Vlad!