Never give up - LEO

人 只有在合适的地方 才能体现出最大的价值
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

"访问被拒绝,程序集无法加载"解决方法

Posted on 2007-01-19 14:04  lizhiwen  阅读(1038)  评论(1编辑  收藏  举报
我们每次在编译完程序后,经常出现这个"访问被拒绝,程序集无法加载",使程序不能执行,有的要等一段时间才可以用,有的要重启机器才可以!
一般的错误信息类似如下,每次提示的可能是不同的程序集:

分析器错误信息: 访问被拒绝:“Microsoft.Web.UI.WebControls”。
源错误:

行 196:<add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 197:<add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 198:<add assembly="*"/>
行 199:</assemblies>
行 200:</compilation>
 
源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config    行: 198
程序集加载跟踪: 下列信息有助于确定程序集“Microsoft.Web.UI.WebControls”无法加载的原因。

发生这种问题最常见的原因是Indexing service引起的。解决方法就是停用Indexing service,或配置ASP.net 的临时目录不受Indexing service服务的影响。

配置ASP.net 的临时目录不受Indexing service服务的影响的步骤如下:

1、开始 -- 管理工具 -- 计算机管理(Win2003的位置,其他操作系统类似)打开计算机管理
2、展开计算机管理左边树中“服务和应用程序”节点,再在其下展开“索引服务”节点,再在其下展开“System”节点,再在其下展开“目录”节点。
3、在计算机管理的右边我们可以看到配置的索引服务目录。
4、在“目录”节点上右击鼠标,选择“新建”--“目录”
5、在“添加目录”对话框中,路经输入框中输入 ASP.net 的临时文件目录。默认应该是:
c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files  目录。
<Version Number> 指你要处理的.net版本。
6、在“包含在索引中吗?”选项中,选择“否”
7、单击“确定”按钮
8、在“索引服务”节点上右键单击,重起索引服务即可。

如果想更深了解,可以看看微软的详细说明:

http://support.microsoft.com/default.aspx?scid=kb;en-us;329065