v4.5.1
Important Manual Update Required for External DI Modules
If you installed v4.5.0 into a project for the first time (or you uninstalled and reinstalled) AND you installed one of the MvcSiteMapProvider.MVC[x].DI.[ContainerName] packages, you probably did not get the important update that it included. This release fixes the NuGet package logic, but unfortunately the damage has already been done on your project and some manual updating is required.
You can check whether you got the update by looking at the packages.config file in your project. It should include MvcSiteMapProvider.MVC[x].DI.[ContainerName].Modules that is the same version as MvcSiteMapProvider.MVC[x].DI.[ContainerName]. If you didn't get the update, the modules package will likely be 4.4.14, which was out of date at the time you installed MvcSiteMapProvider.
NOTE: You don't need to do this if you already did the manual update when you installed v4.5.0.
Getting the Update
Option 1
The safest way to fix this is to see the diff in commit 3772c22b6873d269f5d941d55af9940cb5c3b512 and use it as a guide to manually update your DI module. You only need the one for the DI container you are using.
You will also need the CommonConventions.cs update which you can also see the diff in commit 4810c7c98660a5aeb3c375a242231f2e0cf78577. If you are sure you have not updated the file, it may be easier just to copy and paste the entire contents of the file.
Option 2
A more brute force way to apply the fix is to use the following package manager console command to update your modules package. This will overwrite any customizations you have done to the DI module or other startup code, so making a backup is highly recommended.
PM> Update-Package MvcSiteMapProvider.MVC[x].DI.[ContainerName].Modules -Version 4.5.1 -IgnoreDependencies -FileConflictAction Overwrite
Change Log
- Bug: Fix for NuGet dependencies not being installed past 4.4.14 in new projects (for DI packages and MvcSiteMapProvider.Web).
- Bug: Fix for NuGet package to prevent MVC 5 packages from being automatically upgraded to MVC 6 when it is released. IMPORTANT: If you are using MVC 5, be sure that you have this version or later installed when MVC 6 is released.
- Bug: Fix for #278, #181, and #9, AuthorizeAttributeAclModule interfering with IIS rewrite module intermittently by removing URL rewriting approach and replacing it with an instance of HttpContext that is made specifically for the node being checked.
- Bug: Fix for #280, "Multiple nodes with the same URL". The check has been removed entirely from MVC nodes because there are instances (such as when using HttpMethod) where there may be duplicate URLs.