当我试用免费的Nlog日志平台时,遇到了同样的问题。
以下方法对我有帮助:
在文件资源管理器中输入 %TEMP% 并删除所有临时文件。
之后,我在Visual Studio中启动我的MVC5项目时就没有遇到这个错误了。
尝试删除ASP.Net的临时文件,可通过以下方式之一来实现:
不要忘记清除Framework64
中的临时ASP.NET文件。这对我很有帮助。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
这可能会对某些人有所帮助。
我在一个MVC 5应用程序中遇到了这个问题。从bin目录中删除Antlr3.Runtime.dll并重新构建即可解决该问题。
我的问题是最新版的WebGrease安装了Antlr的3.4.1.9004版本。我安装了WebGrease后,将Antlr更新到了3.5.0.2版本,这个错误就消失了。
对我而言,在web.config文件中删除该节点后,错误消息消失了:
<identity impersonate="true" userName="" password="">
但是对我真正起作用的是授予指定在模拟中的用户名(impersonate)完全访问权限,这样可以访问在C:\Windows\Microsoft.NET\Framework{version}(或Framework64)下找到的“Temporary ASP.NET Files”文件夹。
身份标识也可能存储在IIS中的Web站点应用程序池设置中。
确保您的NuGet包已经正确安装,并且版本正确。如果其他方法都不起作用,尝试从本地文件夹重新添加引用并将其设置为复制本地。
ASPNET_REGIIS -GA impersonatedusername
解决了这个问题。 - cslecours如果有任何解决方案可解决您的问题,请验证web.config文件和程序集版本。
<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>
其中一种简单的方法是更新antlr和webgrease
最终错误得到解决
在web.config中,impersonate="true"出现了问题,我删除了这行后,它就可用了!!
然后我重新添加了这行,并将管理员权限授予具有模拟身份的帐户用户,我的整个应用程序都可以使用了 :)
C:\Windows\Microsoft.NET\Framework[v4.0.30319或您正在使用的版本]\Temporary ASP.NET Files
您的站点目录。
C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]
但先尝试之前的方法,这对我有用。
为了让模拟用户有权限保存临时数据并从目录中获取dll文件和任何所需文件,需要进行两个更改。
更新,对于Windows 10,这是适合我的解决方案
我们将执行两个步骤,但是不要使用
C:\Windows\Microsoft.NET\Framework[v4.0.30319或您正在使用的版本]\Temporary ASP.NET Files
在文件资源管理器中输入%TEMP%,并授予模拟用户访问以下文件夹的权限:
C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files