【问题标题】:Access denied error when building solution in Visual Studio 2005在 Visual Studio 2005 中构建解决方案时访问被拒绝错误
【发布时间】:2008-09-17 08:18:41
【问题描述】:

在进行构建时,我在 Visual Studio 2005 中收到以下错误:

错误 9 无法注册程序集 “E:\CSharp\project\Some.Assembly.dll” - 拒绝访问。访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED)) 项目

它只是间歇性地发生,如果我重新启动 IDE,它确实会消失,但这非常烦人,如果可以的话,我想永久阻止它发生。我检查了程序集本身,它没有设置为只读,所以我不知道为什么 Visul Studio 会锁定它。我正在调试模式下工作。

我浏览了谷歌,但除了“重启 VS”之外似乎找不到任何东西。有人对我如何解决这个烦人的问题有任何建议吗?

【问题讨论】:

    标签: c# visual-studio-2005


    【解决方案1】:

    听起来你有一个不时被锁定的 DLL,防止 VS 覆盖/锁定它。您是否尝试过使用 Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) 或 Unlocker (http://www.emptyloop.com/unlocker/) 等工具来查看锁定 DLL 的原因?特别是 Unlocker 为我节省了很多时间。

    正如下面的 cmets 所述(感谢 Jeff),您还可以从 Process Explorer 中终止单个锁。

    【讨论】:

    • 刚安装了Unlocker,提示没有找到锁定手柄。 Process Explorer 说 devenv.exe 在 Local Settings\Application Data\Microsoft\VisualStudio\8.0\ProjectAssemblies\jl-s2cov01\Some.Assembly.dll 中打开了 dll,所以可能就是这样。
    • 尝试删除 dll,然后让 Unlocker 解决(你不必物理删除它,除非它会被重建)。它使您可以选择什么都不做。
    • 请注意,您还可以从 Process Explorer 中杀死单个锁——您尝试过吗?
    【解决方案2】:

    这可能是由于 Visual Studio 需要 Windows 7 或更高版本的管理员权限造成的。要检查,请查看是否设置了下面提到的注册表项。如果没有,复制到.reg 并合并。请务必检查.reg文件中的Visual Studio 2005安装路径是否正确!

    Windows Registry Editor Version 5.00
    
    ; Run Visual Studio 2005 with administrator rights
    ; This is required to run / debug the program directly from the IDE
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 8\\Common7\\IDE\\devenv.exe"="~ RUNASADMIN"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      相关资源
      最近更新 更多