ASP.NET 部署常见问题及解决方案
ASP.NET 部署部署过程中常见问题及解决方案
Could not load file or assembly 'XXXXX' or one of its dependencies. Access is denied.
问题描述及分析
中文的意思是:无法加载文件或程序集’xxx’或它的某个依赖项。系统无法找到指定的文件
这个问题发生在,我在利用反射,获取其它程序集对象
如:Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);
解决方案
- 检查你的项目文件,是否存在某个程序集没有被引用的问题。一般重新编译一下项目即可发现是否存在缺少的引用;
- 如果你的项目包含 web.config, 检查
节点,是否存在程序集版本的问题,避免因版本指向错误,导致无法正确的加载相关引用; - 清除系统缓存文件。删除
C:\Users\用户名称\AppData\Local\Temp\Temporary ASP.NET Files
或C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
里面的文件
The current identity (XXXXXX) does not have write access to 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'.
问题描述及分析
中文的意思是:给定的账号没有对 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
目录的写入权限
这个问题发生在,我在 Web.config 文件 system.web
节点下添加了 identity
的情况
如:
解决方案
- 进入
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
目录 - 找到并选中目录
Temporary ASP.NET Files
,右键找到属性
,在 属性窗口中找到安全
选项卡, - 点击
组或用户名
下方的编辑
按钮 - 在弹出的窗口中点击
添加
按钮, - 在弹出的窗口中找到
输入对象名来查找
,输入上方错误消息中的用户名,点击确认
按钮 - 在添加完成后,选择刚添加的用户名,在下方权限中选择相应的权限,点击
确认
按钮 - 再次刷新网页,网页将展示正常