I have upgraded umbraco version in 3 steps:
- Umbraco upgrade from 7.2.8 to 7.3.0
- Umbraco upgrade from 7.3.0 to 7.3.8
- Umbraco upgrade from 7.3.8 to 7.4.3
In my solution ImageResizer.Plugins.AzureReader2 was working before upgrade but after upgrade it has stopped working.
If I comment out below connection string in my web.config it will stopped throwing an error :
<resizer>
<plugins>
<add name="DiskCache" />
<add name="MvcRoutingShim" />
<add name="AzureReader2" connectionString="" endpoint="" prefix="~/azure/" />
</plugins>
<sizelimits imageWidth="0" imageHeight="0" totalWidth="8000" totalHeight="8000" totalBehavior="throwexception" />
<diskCache dir="~/imagecache" autoClean="true" />
<clientcache minutes="10080" />
</resizer>
Error Description :
Value cannot be null.
Parameter name: assemblyFile
[ArgumentNullException: Value cannot be null.
Parameter name: assemblyFile]
System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark) +14309512
System.Reflection.Assembly.LoadFrom(String assemblyFile) +54
Microsoft.WindowsAzure.AzureApplicationSettings.GetServiceRuntimeAssembly() +201
Microsoft.WindowsAzure.AzureApplicationSettings..ctor() +93
Microsoft.WindowsAzure.CloudConfigurationManager.get_AppSettings() +152
Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting(String name) +26
ImageResizer.Plugins.AzureReader2.AzureVirtualPathProvider..ctor(String blobStorageConnection) +50
ImageResizer.Plugins.AzureReader2.AzureReader2Plugin.Install(Config c) +285
ImageResizer.Configuration.PluginConfig.loadPluginsInternal() +265
ImageResizer.Configuration.PluginConfig.LoadPlugins() +56
ImageResizer.Configuration.Config.get_Current() +129
ImageResizer.InterceptModule.System.Web.IHttpModule.Init(HttpApplication context) +415
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +618
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +402
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +343
[HttpException (0x80004005): Value cannot be null.
Parameter name: assemblyFile]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +579
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +112
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +712
Diagnostic page output https://gist.github.com/anonymous/12889621aabca8401170ce7d2d82b38f
It is very likely this has something to do with
Microsoft.WindowsAzure.ServiceRuntime Assembly: 2.7.0.0 File: 2.7.1198.742 Info: 2.7.1198.742 (rd_art_stable.151102-1219)
Your various Microsoft.WindowsAzure.* dlls are not compatible with each other. Try to get them from the same SDK.
ImageResizer is forwards compatible with most builds of the Azure SDK, so you will need to determine which build makes Umbraco and ImageProcessor happy (or remove ImageProcessor's Azure adapter).