Could not load file or assembly 'Antlr3.Runtime (1)' or one of its dependencies

83

I'm getting this error while trying to run my MVC4 project, it was working fine until last time on my other machines, but when I'm trying to run it from another machine it's giving me this error:

Could not load file or assembly 'Antlr3.Runtime (1)' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

After reading about this here I've tried to do:

Install-Package Antlr3.Runtime -Pre

but it didn't help, any ideas?

.net
asp.net-mvc
asked on Stack Overflow Nov 24, 2013 by Maven • edited May 23, 2017 by Community

26 Answers

103

I encountered the same problem when experimenting with the free Nlog logging platform.

This helped me:

Enter %TEMP% in the File Explorer and delete all the temporary files.

After that I didn't get the error when starting my MVC5 project in Visual Studio.

answered on Stack Overflow Dec 3, 2013 by AH.
41

Try to delete the temporary files for ASP.Net by doing one of these:

  • Enter %TEMP% in the File Explorer and delete all the temporary files.
  • Go to folder "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" and delete all files.
answered on Stack Overflow May 6, 2014 by sachin kulkarni • edited Jul 4, 2014 by edumen
31

Don't forget to clear also the Temporary ASP.NET Files in Framework64. That did the trick for me.

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
answered on Stack Overflow Jul 17, 2014 by Mathijs Vlasveld • edited Jul 17, 2014 by chriz
27

Just in case this helps someone.
I had this problem with an MVC 5 Application. Deleting Antlr3.Runtime.dll from the bin directory and re-building fixed the issue.

answered on Stack Overflow Feb 26, 2015 by fhilton
18

My problem was that the latest version of WebGrease installs version 3.4.1.9004 of Antlr. Once I installed WebGrease and then updated Antlr to version 3.5.0.2, the error went away.

answered on Stack Overflow Dec 2, 2014 by YeeHaw1234
13

For me, removing this node in the web.config file got rid of the error message:

<identity impersonate="true" userName="" password="">

But what really worked for me was granting full access (to the userName specified in impersonate), to the Temporary ASP.NET Files" folder found in C:\Windows\Microsoft.NET\Framework{version} (or Framework64).

The identity might also be stored in the Web Site Application Pool Settings, in IIS.

Make sure your nuget package is correctly installed, with the correct version. If nothing else works, then just try re-adding the reference from a local folder and setting it to Copy Local.

answered on Stack Overflow May 16, 2014 by live-love • edited Nov 12, 2014 by live-love
11

If any solutions solve your problem verify the web.config, the version of assembly

<dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
      </dependentAssembly>
answered on Stack Overflow Jun 20, 2014 by Daniel Melo
8

The one of the simple way is update antlr and webgrease

  1. Goto Package console manager
  2. then try apply these codes one by one
  3. PM>Update-Package Antlr
  4. PM>Update-Package WebGrease

Finally the Error Solved

answered on Stack Overflow Oct 15, 2014 by dee pan • edited Dec 19, 2015 by aldebaran
2

For me this was caused by a mismatch between the debug and runtime versions of Antlr.

Finally solved it by installing a different Antlr package: Install-Package Antlr

answered on Stack Overflow Aug 26, 2014 by edson-
2

Try to unlock the Antlr3.Runtime.dll if you add reference manually: enter image description here

answered on Stack Overflow Dec 6, 2014 by ADM-IT
2

There was problem with impersonate="true" in web.config, i removed the line it worked !!

Again i placed the line and gave admin permission to account user with impersonate, my whole application worked :)

1

If you're using impersonation. The answer is to give permission for the user that you're impersonating access to the following folders :

  1. C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

  2. Your site directory.

also you might need to create folder as the following :

C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]

But try the previous first, it worked for me.

Those two changes for granting the impersonated user permission to be able to save the temp data, and pull the dll files, and any needed files from the directories

Update, For windows 10 This is the solution that worked for me

We will do both steps, but Instead of C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

Write %TEMP% into the file explorer, and give permission for the user that you're impersonating access to the following folder: C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files

answered on Stack Overflow Feb 8, 2018 by Mostafa Elabbady • edited Nov 1, 2018 by Mostafa Elabbady
0

In a project I had reference to WebGrease, but there was not corresponding element in packages.config. I remove the reference from project, because I don't need it anymore. It works now.

answered on Stack Overflow Jan 18, 2015 by Tomas Kubes
0

I tried all of the answers in this post, but none of them worked for me.

So I deleted all of the /bin directories inside all of the projects from my solution, cleaned and rebuilt the solution and it finally worked!

My whole morning wasted working to figure out the problem...

answered on Stack Overflow May 8, 2015 by Velociround
0

what worked for me was removing the identity = true from my webconfig (under the system.web properties) and build the solution again and publish it again (if needed) and it worked like a charm!

answered on Stack Overflow Apr 4, 2016 by Anchit
0

My problem ended up being caused by a change to the mapped drives in our Group Policy. My solution has the tempDirectory setting set in the Web.config to use a RAM drive setup as my Z: drive. Apparently they started using the Z: drive and the DLLs were getting copied to tempDirectory like normal, but then I think they were being deleted by a process on the remote server (Virus scan probably). I was only able to figure this out by using Process Monitor and filtering for Antlr and seeing that it was looking in a network location for the DLLs.

answered on Stack Overflow Aug 15, 2016 by Schmalls
0

I updated all packages in the Nudget Package Manager and it worked! In my case I'm hosting my website in GoDaddy

answered on Stack Overflow Feb 19, 2017 by joalcego
0

After trying to delete .netframework temp file without success, I changed

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime />
    <pages controlRenderingCompatibilityVersion="4.0" />
</system.web> 

With only targetFramework="4.6" instead of 4.6.1 Web site displays without errors. Next I changed again to targetFramework="4.6.1" and restart server. Everything remains Ok.

answered on Stack Overflow Jul 5, 2017 by Laurent DANE
0

For me, the solution was to run Visual Studio as Administrator. It was apparently a permissions issue.

0

Solution for me was to go Tools > NuGet Package Manager > Manage Packages for Solution

Then click Antlr3 and ensure it was installed in:

  1. The Startup Project
  2. Any libraries using reflection
  3. Any libraries calling the libraries that use reflection

In my case that was 4 Projects deep that needed it. Once that was done this issue was finally resolved.

answered on Stack Overflow Nov 17, 2017 by Chris Moschini
0

I just faced this issue and tried above mentioned solutions but nothing worked for now I had to delete it's dll from bin floder and rebuild and then delete all releated files from packages folder and restore packages using package manager console

answered on Stack Overflow May 31, 2018 by Ikram Shah
0

Deleted %temp%

Deleted bin

Deleted .vs

Now worked for me

answered on Stack Overflow Dec 27, 2018 by Arun Prasad E S
0

In my case, when I cloned a project, Visual studio 2019 replaced a spaces character with '% 20' in the project's path. Then, when VS tried to find the nugget packages, it could not find the correct path.

answered on Stack Overflow Apr 9, 2019 by Martin • edited Apr 11, 2019 by Martin
0

I faced this issue after upgrading Microsoft.AspNet.Web.Optimization

update-package WebGrease and update-package Antlr (in that order) to get the latest versions and correct the Antlr version issue.

0

For me, I did these steps and it's worked for me :

1 ) I deleted bin and obj folder (some files was not deleted by Clean project)

2 ) I checked some files like JS that was deleted a long time ago but they was included in project files. So I exclude them.

answered on Stack Overflow May 1, 2020 by Mostafa Fallah
0

I got a simple solution. Go to your own project folder and find a packages folder.

enter image description here

answered on Stack Overflow Jul 1, 2020 by Md Shahriar • edited Jul 8, 2020 by Shree

User contributions licensed under CC BY-SA 3.0