升级到.net 4.0后无法加载文件或程序集"AjaxControlToolkit"

Chr*_*Dog 15 asp.net ajaxcontroltoolkit .net-4.0-beta-2

我有一个Web应用程序,我试图升级到.net 4.0.

我拿了应用程序并通过Visual Studio 2010 Beta 2打开它,并选择了该应用程序的升级路径.该应用程序使用AjaxControlToolkit.现在当我尝试访问页面时升级完成后,我收到错误消息:"无法加载文件或程序集'AjaxControlToolkit'或其依赖项之一.访问被拒绝."

我试过了:

  • 重新启动我的机器
  • 清洁解决方案
  • 删除临时ASP.Net文件中的所有文件
  • 在Bin目录,Temporary ASP.Net Files目录中放宽permsissions(添加Everyone with Full Control)
  • 删除并读取对AjaxControlToolkit DLL的引用

AjackControlToolkit的相关web.config条目是:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
  <controls>
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
  </controls>
</pages>
Run Code Online (Sandbox Code Playgroud)

关于这里发生了什么/如何解决这个问题的任何想法?

小智 16

我有一个类似的问题,但能够通过授予我的模拟身份的"Temporary ASP.NET Files"文件夹的完全权限来解决.

  • 我通过将模拟用户添加到Vista工作站上的IIS_IUSRS组来解决此问题. (6认同)
  • 我知道这是一个老线程,但我在这里评论只是为了强调这个答案和jrummell的评论.将模拟用户添加到IIS_IUSRS组可提供对Temporary ASP.NET Files目录的完全访问权限.它还有什么作用?我不知道,但我认为这是一种更"正确"的方法,而不仅仅是授予该目录的特定权限.用户运行ASP.NET应用程序需要具有哪些其他权限?我不知道,但是这个小组应该拥有它们,对吗? (3认同)
  • 我有这个问题,Jeremy的解决方案对我有用.我尝试完全控制Web根目录和所有子文件夹和文件上的模拟用户,并且没有任何更改.然后,我尝试在"C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"文件夹中向模拟用户授予完全控制权,这为我解决了问题. (3认同)
  • 与 Jeremy 和 Josh 一起,我可以确认此解决方案适用于 .NET 4.5.2。 (2认同)

Pet*_*ier 6

我意识到已经有一个已接受的答案,但对于通过搜索错误代码来到此页面的其他人....

查看您尝试模拟的用户的权限.

在我的情况下,我只是在我的开发机器上得到错误,而不是在我们的登台或部署服务器上.(虽然我通过在我的开发环境中从配置中移除'identity'节点并在后期构建中添加该行来解决这个问题,所以除了我之外的任何人都不会有问题.

在我的环境中,我们有一个特定的用户,我们的所有Web应用程序在运行时都会模拟.我创建了用户帐户,但没有明确设置其帐户权限.当我在我的开发机器上以管理员身份添加用户时,这个问题就完全消失了.(不太理想,我知道,但它"对我有用",并且因为用户帐户被锁定在我们的"真实"服务器上而受到的伤害很小......)


Chr*_*Dog 2

不是 100% 确定为什么会这样,但在适当的临时 ASP.Net 文件目录(位于:C:\Windows\Microsoft.NET\Framework64\v4.0.21006\Temporary ASP.NET Files[projectName])中,我手动复制了AjaxControlToolkit.dll。

然后,我看到了缺少的其他 DLL,但在手动将它们复制到此位置后,我也能够解决这些问题。似乎不是最好的答案,但它最终对我有用。