【问题标题】:Visual Studio custom control dll access denied errorVisual Studio 自定义控件 dll 访问被拒绝错误
【发布时间】:2011-07-28 21:43:01
【问题描述】:

这是“15 分钟前还在工作”的问题之一。我一直在毫无问题地运行我的应用程序,然后在尝试加载设计视图时突然收到此错误:

Access to the path '[my-local-path]\Application Data\Microsoft\VisualStudio\10.0\ProjectAssemblies\waswbeet01\Interop.EModelView.dll' is denied. 

据我所知,我没有对应用程序进行任何重大更改来触发此操作。我可以转到特定的文件位置并查看那里的 dll,它对 SYSTEM 的权限是完全控制的。

把它撞到我的桌子上,我的头很痛。

【问题讨论】:

    标签: c# visual-studio-2010 dll access-denied


    【解决方案1】:

    听起来该文件已打开/锁定 - 您可以尝试以下方法:

    • 让 Visual Studio 清理,然后重建解决方案(可能是 Visual Studio 有锁)
    • 关闭并重新打开 Visual Studio
    • 使用Process Explorer 之类的工具检查哪些进程拥有该文件的句柄(也可选择强制关闭句柄)
    • 重启电脑

    过去我曾看到 Visual Studio 会在不应该的文件上保留句柄/锁定的问题,这可能会导致构建问题 - 这就是为什么我建议重新启动 Visual Studio/进行干净构建作为第一个选项的原因。

    【讨论】:

    • 在进程资源管理器中,当我在 VS 中打开项目时(应用程序没有运行,只是处于编辑模式),我看到 Interop.EModelView.dll 的 3 个条目。 // explorer.exe - 句柄 - HKCR\Applications\EModelViewer.exe // devenv.exe - DLL - \qqkcrtf601\Interop.EModelView.dll // devenv.exe - 句柄 - \qqkcrtf601\Interop. EModelView.dll 当我尝试运行应用程序时,我在不同的文件位置获得了 2 个 dll 的 handle 实例和 3 个看起来像重复条目的 dll 实例,然后一个在不同的位置。
    • 其中一个(bar process explorer,我没有尝试过)工作,谢谢!浪费了一个上午的时间!
    【解决方案2】:

    您是否在 Widows 7 下运行?
    如果是这样,您必须在 Administrator 下启动 Visual Studio 以获得对 dll 的完全访问权限。

    另外,您是否尝试执行期间修改和构建您的应用程序?
    如果是这样,您应该在更改 dll 之前停止您的应用程序。

    【讨论】:

    • 不,我在 XP 上,我不想在执行期间进行构建。今天早些时候它工作得很好。所以我不确定从成功运行到此之间会发生什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多