似乎已经有100多个像这样的问题..我已经搜索了很多这些问题,他们似乎没有提出任何我尚未尝试过的问题。
我收到错误:
Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.
Source Error:
Line 44: private static IKernel CreateKernel()
Line 45: {
Line 46: var kernel = new StandardKernel();
Line 47: try
Line 48: {
上面的代码出现在我的Ninject Initializer中。
我已将“所有人”权限赋予:
C:\的Windows \ Microsoft.NET \框架\ v4.0.30319
C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework
FusionLog详细信息:
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Program Files (x86)\IIS Express\iisexpress.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = file:///F:/TFS/MMSChange/Main/SMRH.MMSChange/SMRH.MMSChange.Web/
LOG: Initial PrivatePath = F:\TFS\MMSChange\Main\SMRH.MMSChange\SMRH.MMSChange.Web\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Found application configuration file (F:\TFS\MMSChange\Main\SMRH.MMSChange\SMRH.MMSChange.Web\web.config).
我还给了每个人对我的代码文件夹的权限。我试过运行ProcMon(以前帮助我解决了不同解决方案的类似问题);但它不会为system.web.dll创建单个条目。
我内置了模拟。我使用单独的帐户访问数据库,并且模拟数据库帐户的模拟会破坏这一点。没有模仿,应用程序运行正常。 (但没有数据,因为所有数据库调用都失败了)
有趣的是,如果我将相同的代码部署到我的本地计算机并通过IIS网站运行它:它可以工作。但是,如果我只是从我的IDE调试它失败了。
答案 0 :(得分:10)
好的,所以我找到了解决方案。
经过数小时的调试和联系Microsoft支持后,没有任何结果。我决定从头开始。我得到了另一个 ProcMon 运行和过滤结果的实例,只显示 IISExpress 结果(因为这是给我错误的那个)。
然后我从IDE编译并启动了我的应用程序并等待错误发生。收到错误后,我按" 拒绝访问"过滤了结果。
通常我会过滤结果以查找system.web.dll,但这次我决定忽略它。
我发现唯一丢弃拒绝访问权限的文件是:" C:\ Users \ 1roj1 \ Documents \ IISExpress \ config \ aspnet.config " (其中1roj1是我的用户帐户)。
我让我的模仿用户完全访问此文件,并且一切正常!
答案 1 :(得分:1)
我认为您需要为IIS注册.net Freamework 4.0以解决上述问题。 以下是步骤..
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
] aspnet_regiis.exe -i
] iisreset
]。