无法加载文件或程序集'系统.Web,版本=4.0.0.0,文化=neutral'或者它的一个相关项.访问
本文关键字:访问 或者 一个 文件 加载 程序集 系统 文化 版本 Web neutral | 更新日期: 2023-09-27 18:08:54
好像已经有上百个这样的问题了…我已经搜索了很多,他们似乎没有建议任何我还没有尝试过的东西。
我得到错误:
无法加载文件或程序集"系统"。Web,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。访问被拒绝
描述:当前web请求执行过程中出现未处理的异常。请查看堆栈跟踪以获得有关错误及其在代码中的起源的更多信息。
异常详细信息:System. io . fileloadexception: Could not load file or assembly 'System。Web,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。访问被拒绝
Source Error:
Line 44: private static IKernel CreateKernel()
Line 45: {
Line 46: var kernel = new StandardKernel();
Line 47: try
Line 48: {
上面的代码在我的Ninject初始化器中。
我已经给了每个人&;权限:
C: ' Windows ' Microsoft.NET ' Framework ' 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创建一个单独的条目。
我有内置的模拟。我使用单独的帐户访问数据库,而数据库帐户的模拟破坏了这一点。没有模拟,应用程序运行良好。(但没有数据,因为所有的db调用失败)
有趣的是,如果我将相同的代码部署到我的本地机器上,并通过IIS网站运行它:它可以工作。但是如果我只是在IDE中调试它,它就会失败。我得到了ProcMon运行和过滤结果的另一个实例,仅显示IISExpress结果(因为这是给我错误的一个)。
然后我从IDE编译并启动了我的应用程序,等待错误出现。在我得到错误后,我用"Access Denied&;"过滤了结果。
通常我过滤结果寻找system.web.dll,但这次我决定忽略它。
我发现唯一抛出拒绝访问的文件是:"C:'Users'1roj1'Documents'IISExpress'config'aspnet.config"(其中1roj1是我的用户账号)。
我给了我的模拟用户对这个文件的完全访问权,瞧,一切都工作了!
我认为你需要注册。net framework 4.0 for IIS的上述问题。以下是步骤……
- 以管理员身份打开命令提示符 在命令提示符中导航到"C:'Windows' microt.net 'Framework'v4.0.30319"目录[使用命令
- 重新启动IIS [use command
iisreset
]. - 。
cd C:'Windows'Microsoft.NET'Framework'v4.0.30319
]为IIS注册。net FrameWork[使用命令aspnet_regiis.exe -i
]