ASP.NET 部署常见问题及解决方案

发布时间 2023-10-23 10:37:24作者: Earen

ASP.NET 部署部署过程中常见问题及解决方案

Could not load file or assembly 'XXXXX' or one of its dependencies. Access is denied.

问题描述及分析
中文的意思是:无法加载文件或程序集’xxx’或它的某个依赖项。系统无法找到指定的文件
这个问题发生在,我在利用反射,获取其它程序集对象
如:Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);

解决方案

  1. 检查你的项目文件,是否存在某个程序集没有被引用的问题。一般重新编译一下项目即可发现是否存在缺少的引用;
  2. 如果你的项目包含 web.config, 检查 节点,是否存在程序集版本的问题,避免因版本指向错误,导致无法正确的加载相关引用;
  3. 清除系统缓存文件。删除 C:\Users\用户名称\AppData\Local\Temp\Temporary ASP.NET FilesC:\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 的情况
如:

解决方案

  1. 进入 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 目录
  2. 找到并选中目录 Temporary ASP.NET Files,右键找到 属性,在 属性窗口中找到 安全选项卡,
  3. 点击 组或用户名 下方的 编辑 按钮
  4. 在弹出的窗口中点击 添加按钮,
  5. 在弹出的窗口中找到 输入对象名来查找,输入上方错误消息中的用户名,点击 确认 按钮
  6. 在添加完成后,选择刚添加的用户名,在下方权限中选择相应的权限,点击 确认 按钮
  7. 再次刷新网页,网页将展示正常