3
votes

When I publish my web application and have Precompile during publishing checked I get this error on my webserver:

Unable to load DLL 'VSPerf110.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

The application works if I don't Precompile. How can I fix this?

Here's my settings for publishing:

Publish with precompile

2

2 Answers

1
votes

OK it sounds like this application is trying to make use of the Profiler API on the production server. There may be some performance tracking Profile code in this application that may need to be commented out or removed.

Per this MSDN documentation on the Profileer API for VS 2012, "Your build must reference the Microsoft.VisualStudio.Profiler.dll library, located in the Microsoft Visual Studio 9\Team Tools\Performance Tools directory."

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

1
votes

I got the same error message in Visual Studio 2015 and wanted to post a different solution in case it helps someone else. In my case, I had used Visual Studio's Performance Profiler to do some performance analysis. However, I never modified my code to add references to Microsoft.VisualStudio.Profiler.dll. When I copied my files to our test server, I received the error message.

I searched my code for "VSPerf110" but found nothing. Finally I tried using a separate search utility to search all files in the directory and found it: the string "VSPerf110.dll" was found in one of the compiled dlls, despite the fact that none of my code had changed.

To fix the issue, I deleted all my performance analysis output files (these are non-code files generated by Visual Studio), and did a Clean/Rebuild on the solution. After this, searching for the string "VSPerf110.dll" returned 0 results. When I copied the recompiled dlls to the test server, the error message went away.