Now that we’ve taken a detailed look at preparing and running the Sitefinity Migration Module, I’d like to cover some of the common error messages you may encounter along the way.
This is not a comprehensive list, but it does also cover some general errors that may occur outside of the Migration Module.
If you have experienced additional errors not recorded below, or if you have additional questions, please let us know in the Migrating from 3.x to 4.x and Bugs & Issues discussion forums so that I can add update this list.
Sitefinity 4 Installation and Deployment Errors
Invalid root node configured for pages. No root node with the name of "FrontendSiteMap".
This can usually be resolved by opening the user properties in SQL Server and making sure that their schema is set to “dbo”.
IIS specified authentication schemes 'IntegratedWindowsAuthentication, Anonymous', but the binding only supports specification of exactly one authentication scheme. Valid authentication schemes are Digest, Negotiate, NTLM, Basic, or Anonymous. Change the IIS settings so that only a single authentication scheme is used.
This error means your server has multiple authentication schemes enabled. Double check that your IIS configuration matches this from the Sitefinity Documentation: Configuring the IIS to host Sitefinity Projects.
Error attaching database. System.Data.SqlClient.SqlException: The database cannot be opened because it is version 661. This server supports version 612 and earlier. A downgrade path is not supported. Could not open new database.
If you open an SQL Server database with a later version such as 2008 R2, it is upgraded and no longer backwards-compatible with previous versions. Make sure your development version of SQL Server matches your production server.
Also note that the Sitefinity 3 database is not compatible with Sitefinity 4. Sitefinity 4 requires a brand new database of its own.
Sitefinity 3 Errors
Could not load file or assembly 'Telerik.Sitefinity.Migration' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Installation package for the build version of the specified 3.7 project is missing.
This error is usually a result of attempting to install run the Migration Service on a website running ASP.NET 2.0. Currently, the Migration Service for Sitefinity 3.7 is only compatible with the ASP.NET 3.5 and 4.0 runtimes.
DataBinding: 'Telerik.Cms.Engine.Data.CmsContentBase' does not contain a property with the name ‘XXXX’
Because the Migration Service requires the latest version of Sitefinity 3.7, you may experience errors because of changes in the API between versions. You can simply delete these Databinding expressions from the templates that reference them (since you’ll have to recreate them in 4.x anyway).
An assembly with the same identity 'System.Web.Extensions, Version=184.108.40.206, Culture=neutral, PublicKeyToken=31bf3856ad364e35' has already been imported. Try removing one of the duplicate references.
If you are upgrading from the ASP.NET 2.0 runtime you probably have the AJAX Extensions binaries (System.Web.Extensions.dll and System.Web.Extensions.Design.dll) in your bin folder. Because these libraries are now built into the later frameworks, leaving them in your bin folder will cause a duplicate reference, so they should be deleted.
Error: Could not find ~/MigrationService.svc on the source site.. Error details:The requested service, ‘~/MigrationService.svc' could not be activated.
Please ensure that WCF activation is enabled on the web server, and that you have successfully installed the Migration Service.
404 Error: Endpoint Not Found
Make sure you have installed the latest build, and that the build matches for both the Migration Service (for Sitefinity 3.7) and the Migration Module (for 4.x).
Could not load file or assembly 'Telerik.Cms.Engine, Version=3.7.2136.240, Culture=neutral, PublicKeyToken=dfeaee0e3978ac79' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
The Migration Service can only be installed to a website running Sitefinity 3.7 SP4, build 3.7.2136 on either ASP.NET 3.5 or 4.0 runtime. Please patch your website to the latest version to resolve this error.
Sitefinity 4 Errors (After Migration)
Could not load file or assembly 'Telerik.Cms' or one of its dependencies. The system cannot find the file specified.
This error is a result of the changes in the API and DLL structure from Sitefinity 3 to 4. You need to update your code to reference the new APIs, as the prior dll files are incompatible with Sitefinity 4.
If your Sitefinity images are not showing up (or resulting in 404 errors), there are two possible causes. Either you need to configure the Sitefinity 4 libraries settings (as outlined in this KB article), or you need to configure IIS to handle all requests (also known as a Wildcard mapping).
Cannot find template “~/[Path]/[Template].ascx”
Sitefinity 3 widget templates are generally incompatible with Sitefinity 4, so you cannot simply copy them then map them to a Sitefinity 4 widget. Instead, you can edit the templates directly using the built in Widget Template Editor, a new feature of Sitefinity 4.
Alternatively, you can map the template files manually by extracting the needed template, all of which are available in the Sitefinity SDK.
Could not load file or assembly ‘XXXXXX’ or one of its dependencies. The system cannot find the file specified
If you are using any custom external libraries in your Sitefinity 3 website, be sure to copy the underlying dll files to the Sitefinity 4 bin folder. Also make sure they are compatible with the ASP.NET 4.0 runtime, which is required for Sitefinity 4.
Assembly 'Telerik.Sitefinity, Version=4.0.xxx.xxx' uses 'Telerik.Web.UI, Version=2010.x.xxxx.x' which has a higher version than referenced assembly 'Telerik.Web.UI, Version=2011.x.xxx.xx'
When copying the dll files from Sitefinity 3, be sure not to overwrite any already present in Sitefinity 4, as it uses the latest version of libraries such as the Telerik RadControls.
Identifying Additional Errors
In addition to the Sitefinity logs, you can also use Firebug, an add-on to the Firefox web browser as another tool for identifying errors.
For this example, I deleted the MigrationService.svc file from the Sitefinity 3 website. As you can see from the screenshot below, by tracing the request in Firebug, I see exactly what request is failing.
You can also use the IIS logs for additional help tracking errors. If you have logging enabled in IIS, you can see what specific path was being requested by the Migration Module.
Each website in IIS has an ID number. This number corresponds to the log folder for IIS, usually in the path C:\inetpub\logs\LogFiles.
Open the recent log from that website's folder and you can see exactly what page is being requested and what the resulting error was.
In this case it is a simple 404, but if the MigrationService.svc was found and another error occurred, you could use this to navigate to that page and perhaps see additional information about the error.