2014-04-07 162 views
3

當我發表我的web應用程序,並有Precompile during publishing檢查我得到我的web服務器這樣的錯誤:無法加載DLL「VSPerf110.dll」

無法加載DLL「VSPerf110.dll」:可以在指定的模塊不是 找到。 (異常來自HRESULT:0x8007007E)

如果我不預編譯,應用程序的工作原理。我怎樣才能解決這個問題?

這裏是我的設置發佈:

Publish with precompile

回答

1

確定這聽起來像這樣的應用程序試圖利用生產服務器上的探查器API的。可能會有一些性能跟蹤配置文件代碼在此應用程序中可能需要註釋掉或刪除

根據關於VS 2012的Profileer API的此MSDN文檔,「您的構建必須引用位於Microsoft Visual Studio 9 \ Team Tools \ Performance Tools目錄中的Microsoft.VisualStudio.Profiler.dll庫。」

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

+0

我曾嘗試引用Microsoft.VisualStudio.Profiler.dll但沒有任何成功。 很久以前,我在VS2012中運行了代碼分析,並添加了一個關於壓縮消息的文件。也刪除了,但沒有任何成功。我如何在代碼中找到簡介代碼? –

+0

嘗試在您的解決方案中進行全局查找**(Ctrl + Shift + F)**:** Microsoft.VisualStudio.Profiler **。這應該顯示任何和所有使用Profiler名稱空間的代碼文件。 – landsteven

+0

代碼中未找到任何內容。 Visual Studio是否可能在預編譯期間添加它? –

0

我在Visual Studio 2015年得到了同樣的錯誤消息,並且想後不同的解決方案的情況下,它可以幫助別人。就我而言,我曾使用Visual Studio的性能分析器進行性能分析。但是,我從來沒有修改我的代碼來添加對Microsoft.VisualStudio.Profiler.dll的引用。當我將我的文件複製到我們的測試服務器時,我收到了錯誤消息。

我搜索了我的代碼「VSPerf110」,但什麼也沒找到。最後,我嘗試使用單獨的搜索實用程序來搜索目錄中的所有文件,並發現它:儘管事實上我的代碼沒有發生任何變化,但在其中一個編譯的dll中找到了字符串「VSPerf110.dll」。

要解決此問題,我刪除了所有性能分析輸出文件(這些是由Visual Studio生成的非代碼文件),並在解決方案上執行了清理/重建。之後,搜索字符串「VSPerf110.dll」返回0結果。當我將重新編譯的dll複製到測試服務器時,錯誤消息就消失了。