【发布时间】:2014-04-07 07:32:37
【问题描述】:
当我发布我的网络应用程序并检查Precompile during publishing 时,我的网络服务器上出现此错误:
无法加载 DLL 'VSPerf110.dll':指定的模块不能 成立。 (HRESULT 异常:0x8007007E)
如果我不预编译,该应用程序将正常工作。我该如何解决这个问题?
这是我的发布设置:
【问题讨论】:
标签: asp.net visual-studio-2012
当我发布我的网络应用程序并检查Precompile during publishing 时,我的网络服务器上出现此错误:
无法加载 DLL 'VSPerf110.dll':指定的模块不能 成立。 (HRESULT 异常:0x8007007E)
如果我不预编译,该应用程序将正常工作。我该如何解决这个问题?
这是我的发布设置:
【问题讨论】:
标签: asp.net visual-studio-2012
好的,听起来这个应用程序正在尝试使用生产服务器上的 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
【讨论】:
我在 Visual Studio 2015 中收到了相同的错误消息,并想发布一个不同的解决方案以防它对其他人有所帮助。就我而言,我使用 Visual Studio 的 Performance Profiler 进行了一些性能分析。但是,我从未修改我的代码来添加对 Microsoft.VisualStudio.Profiler.dll 的引用。当我将文件复制到我们的测试服务器时,我收到了错误消息。
我在我的代码中搜索“VSPerf110”,但一无所获。最后,我尝试使用单独的搜索实用程序搜索目录中的所有文件并找到它:尽管我的代码都没有更改,但在其中一个已编译的 dll 中找到了字符串“VSPerf110.dll”。
为解决此问题,我删除了所有性能分析输出文件(这些是 Visual Studio 生成的非代码文件),并对解决方案进行了清理/重建。在此之后,搜索字符串“VSPerf110.dll”返回 0 个结果。当我将重新编译的 dll 复制到测试服务器时,错误消息消失了。
【讨论】: