2009-12-14 84 views
14

我有一个Web应用程序,我试图升级到.net 4.0。升级到.net 4.0后无法加载文件或程序集“AjaxControlToolkit”

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

我已经试过:

  • 在滨重新启动我的机器
  • 清理解决方案
  • 删除所有文件临时ASP.Net文件
  • 放松permsissions(加入人人具有完全控制)目录,Temporary ASP.Net Files目录
  • 删除并读取对AjaxControlToolkit DLL的引用

为AjackControlToolkit的相关web.config中的项目有:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 
    <controls> 
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/> 
    </controls> 
</pages> 

任何想法,什么是发生在这里/我怎样才能解决这个问题?

+0

+1:快速测试*以查看用户与模拟权相关的*是否将本地管理员权限授予您的模拟帐户。如果问题消失,则需要为帐户分配特定的访问权限才能访问IIS文件。 – 2012-01-30 10:33:56

+0

对于所有建议仍然存在问题的其他人来说,此链接可能会引起您的兴趣。 http://stackoverflow.com/a/23534971/1027250 – Yorro 2014-05-08 09:27:39

回答

1

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

然后我提供了附加的DLL丢失,但手动将它们复制到这个位置,我也能够解决这些问题。似乎不是最好的答案,但它最终为我工作。

+0

只是出于好奇,你有没有试过只删除所有的临时文件? – NotMe 2010-04-14 19:10:58

+0

我曾尝试删除所有临时文件,但没有运气 – ChrisHDog 2010-04-14 20:00:37

1

奇怪的错误。您的web.config文件中的任何内容是否使用公钥标记或其他提供的组件规范指向AjaxControlToolkit?这发生在我身上,值发生了变化,或者我从GAC中的参考文献更改为本地参考文献...

HTH。

13

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

+5

我通过将模拟用户添加到我的Vista工作站上的IIS_IUSRS组来解决此问题。 – jrummell 2010-07-08 13:57:35

+2

我知道这是一个古老的线索,但我在这里评论只是为了强调这个答案和jrummell的评论。将模拟用户添加到IIS_IUSRS组中可以完全访问Temporary ASP.NET Files目录。它还有什么作用?我不知道,但我认为这是一种更“正确”的方法,而不仅仅是授予对该目录的特定权限。用户需要运行ASP.NET应用程序还有哪些其他权限?我不知道,但这个小组应该有他们,对吧? – JeffK 2012-06-21 14:56:07

+0

类似:对于我来说,它是给模拟用户(这是* IUSR_ [机器名] *如果web.config有* impersonate = true *但没有指定用户名)修改,读取和执行我的web应用程序文件夹的权限* *并确保这些权限传播给所有子文件夹**(单击高级按钮)。 – MGOwen 2012-08-08 11:06:29

3

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

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

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

2

我试着给我的模拟用户完全拥有Temporary ASP.NET Files文件夹的权限,但那没有用。我记得在过去,当我得到这个错误,它做到了。

我知道问题海报试过这个,但它在我在Visual Studio中删除/添加AjaxToolKit时适用于我。我建议先尝试他所做的一切。我希望这可以帮助别人。

3

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

6

我知道已经有一个公认的答案,但对于其他人通过错误代码搜索来到这个页面....

评论的用户,你试图模仿的权限。

在我的情况,我只是得到我的开发机器上的错误,而不是在我们的升级或部署服务器。 (因为尽管我周围这让在我的开发环境除去配置的“身份”节点,只是添加行生成后所以它不是为我比任何其他人的问题..

在我的环境我们有一个特定的用户,我们所有的Web应用程序在运行时都会模拟,我已经创建了用户帐户,但没有明确设置它的帐户权限,当我在开发机器上将用户添加为管理员时,此问题完全消失。 (不理想,我知道,但它“为我工作”,并有伤害最小,因为该用户帐户被锁定反正我们倒“真正的”服务器上..)

1

你可以试试这个: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\只是干净。从这个文件夹中的所有文件夹和文件,并编译你的应用程序离子。快乐的编码!

1

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

1

检查DLL的属性。如果它指出“这个文件来自另一台计算机”,请点击复选框并点击“应用”,解除Windows已经实施的限制。

0

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

相关问题