I have an MVC4 Web API project. While running the service project I am getting an error
Could not load file or assembly \'WebGrease, Version=1.5.1.25624,
Have you tried through NuGet ?
Install-Package WebGrease -Version 1.5.1
or
Install-Package WebGrease -Version 1.5.2
In my case this was not solved by any of the solutions above. The error relating to webgrease was actually a red herring ... it was a problem with an invalid (and completely unrelated) assembly binding redirect. I guess this problem with my web.config file was causing all the assembly binding redirects to fail, and it just so happened this was causing a runtime issue with WebGrease.
Basically, during a merge one of the binding redirects had got corrupted and it had ended up with two assembly redirects within a single <dependentAssembly>
tag.
So, if you are getting this issue and you already have the binding redirect set up correctly for WebGrease, it is worth scanning through all your other assembly binding redirects to check that non of them have been corrupted.
When you redirect webgrease make sure you don't have an appliesTo attribute on your assemblyBinding element. For me I removed it completely.
I know it's kind of late for the OP but I ran into the same problem while trying out the Bootstrap 3 for MVC 4 NuGet package, in my case it had something to do with the Microsoft.AspNet.Web.Optimization package, and managed to find a simple solution.
Try executing the following commands in the package manager console:
Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease
Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease
The first two lines had no effect for me since those packages were already installed and updated by the Bootstrap 3 for MVC 4 package, but I ran them anyway and then it all compiled and ran great.
For me, none of above scenarios worked.
After trying for two days, finally i found the solution.
What i did was, i uninstalled Microsoft.AspNet.Web.Optimization and WebGrease both.
I knew that this optimization assembly internally refers to WebGrease 1.5.1. So i chose a version of optimization which does not refer to WebGrease 1.5.1.
I ran following commands in order to make everything work.
Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0
I hope i will be able to be a good help for someone for whom above solution does not work.
Cheers!
The issue I observed matched closely what Jidheesh Rajan mentioned. However, updating the package from Nuget package manager (without specifying version) did not fix the issue. Here is what I had to do to fix the issue. (Essentially, I explicity updated WebGrease to version 1.6)
From within the package manager console in Visual Studio, explicitly update WebGrease to version 1.6 . here is the command.
Install-Package WebGrease -Version 1.6
Output should be
Removing 'WebGrease 1.5.2' from {project name}
Adding 'WebGrease 1.6.0' to {project name} Successfully added 'WebGrease 1.6.0' to {project name} Uninstalling 'WebGrease 1.5.2'. Successfully uninstalled 'WebGrease 1.5.2'.
This ended up updating web.config with
assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /
bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"
This also resulted in the removal of a line from the csproj file.
<WebGreaseLibPath>..\packages\WebGrease.1.5.2\lib</WebGreaseLibPath>
and an update in this node in the csproj file
<Reference Include="WebGrease, Version=1.5.2.14234, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\WebGrease.1.5.2\lib\WebGrease.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
to this
<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
Keep in mind that I didnt have an issue on my local machine, just on a stage web server. I wanted to try my best to resolve the issue without updating the package, but this was the only fix I had.