【问题标题】:Unable to load DLL 'VSPerf110.dll'无法加载 DLL 'VSPerf110.dll'
【发布时间】:2014-04-07 07:32:37
【问题描述】:

当我发布我的网络应用程序并检查Precompile during publishing 时,我的网络服务器上出现此错误:

无法加载 DLL 'VSPerf110.dll':指定的模块不能 成立。 (HRESULT 异常:0x8007007E)

如果我不预编译,该应用程序将正常工作。我该如何解决这个问题?

这是我的发布设置:

【问题讨论】:

    标签: asp.net visual-studio-2012


    【解决方案1】:

    好的,听起来这个应用程序正在尝试使用生产服务器上的 Profiler API。此应用程序中可能有一些性能跟踪配置文件代码可能需要注释掉或删除

    根据有关 VS 2012 的 Profileer API 的 MSDN 文档,“您的构建必须引用 Microsoft.VisualStudio.Profiler.dll 库,该库位于 Microsoft Visual Studio 9\Team Tools\Performance Tools 目录中。”

    http://msdn.microsoft.com/en-us/library/bb514149(v=vs.110).aspx

    【讨论】:

    • 我试图引用 Microsoft.VisualStudio.Profiler.dll 但没有任何成功。很久以前,我在 VS2012 中运行了代码分析,它添加了一个关于被抑制消息的文件。也将其删除,但没有任何成功。如何在我的代码中找到剩余的配置文件代码?
    • 尝试在您的解决方案中为 Microsoft.VisualStudio.Profiler 进行全局查找 (Ctrl + Shift + F)。这应该会显示所有使用 Profiler 命名空间的代码文件。
    • 代码中没有找到任何东西。 Visual Studio 是否有可能在预编译期间添加它?
    • 我只是反编译 global.asax dll,VS 将 Profiling 代码添加到其中。我想这是我必须取消勾选的设置。
    • 我找到了!在 web.config 中添加了对 Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter 和 Microsoft.VisualStudio.Enterprise.AspNetHelper 的引用。删除这些引用修复了它。
    【解决方案2】:

    我在 Visual Studio 2015 中收到了相同的错误消息,并想发布一个不同的解决方案以防它对其他人有所帮助。就我而言,我使用 Visual Studio 的 Performance Profiler 进行了一些性能分析。但是,我从未修改我的代码来添加对 Microsoft.VisualStudio.Profiler.dll 的引用。当我将文件复制到我们的测试服务器时,我收到了错误消息。

    我在我的代码中搜索“VSPerf110”,但一无所获。最后,我尝试使用单独的搜索实用程序搜索目录中的所有文件并找到它:尽管我的代码都没有更改,但在其中一个已编译的 dll 中找到了字符串“VSPerf110.dll”。

    为解决此问题,我删除了所有性能分析输出文件(这些是 Visual Studio 生成的非代码文件),并对解决方案进行了清理/重建。在此之后,搜索字符串“VSPerf110.dll”返回 0 个结果。当我将重新编译的 dll 复制到测试服务器时,错误消息消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-26
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2012-01-12
      相关资源
      最近更新 更多