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

时间:2009-12-14 23:26:51

标签: asp.net ajaxcontroltoolkit .net-4.0-beta-2

我有一个我正在尝试升级到.net 4.0的Web应用程序。

我拿了应用程序并通过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>

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

11 个答案:

答案 0 :(得分:15)

我遇到了类似的问题但是能够通过授予我的模拟身份的“Temporary ASP.NET Files”文件夹的完全权限来解决。

答案 1 :(得分:6)

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

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

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

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

答案 2 :(得分:4)

我认为关于C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Temporary ASP.NET Files [projectName]中Temp文件的帖子是在正确的轨道上。

我通过编辑权限来解决问题,以确保ASP模拟用户(在IIS的安全部分中找到应用程序在允许匿名访问时应使用的匿名用户)具有适当的目录安全性。

解决了问题...访问被拒绝通常指向权限问题。

答案 3 :(得分:3)

当我在新的Windows Server 2008计算机上重新安装我的ASP.NET应用程序时,我收到此错误消息(尽管是另一个dll文件)。我搜索了几个小时的解决方案,绝对尝试了一切,但无济于事。直到我停用McAfee防病毒软件。当我这样做时,一切都像魅力一样。

答案 4 :(得分:2)

我尝试向我的模拟用户授予Temporary ASP.NET Files文件夹的完全权限,但这不起作用。我记得在过去,当我得到这个错误,它就是诀窍。

我知道问题海报尝试了这个但是当我在visual studio中删除/添加AjaxToolKit时它对我有用。我建议先尝试他所做的一切。我希望这有助于某人。

答案 5 :(得分:2)

你可以试试这个: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\。只需清理此文件夹中的所有文件夹和文件,然后编译您的应用程序。快乐的编码!

答案 6 :(得分:1)

奇怪的错误。 web.config文件中的任何内容是否指向带有公钥标记或其他程序集规范的AjaxControlToolkit?这发生在我身上,其中值已更改或我从GAC中的引用更改为本地引用...

HTH。

答案 7 :(得分:1)

不是100%确定为什么会这样,但是在相应的Temporary ASP.Net Files目录中(位于:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Temporary ASP.NET Files [projectName])I手动coppied AjaxControlToolkit.dll。

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

答案 8 :(得分:1)

我遇到了同样的问题。经过大量研究后我发现我在配置文件中使用模拟。我不得不将模拟ID更改为服务器本地的其他用户,并立即解决了问题。

答案 9 :(得分:1)

检查DLL的属性。如果它指出某个地方&#34;此文件来自另一台计算机&#34;,请单击复选框并按“#34;应用&#34;”解除Windows已实施的限制。

答案 10 :(得分:0)

请记住使用上下文菜单[右键单击]以“以管理员身份运行”打开“Visual Studio”。