![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello, we have a 32-bit dll implementing both a webservice and a COM interface. When installed on a 32-bit system, it works fine both ways. On a 64-bit system, it works fine as a COM object, however, we are unable to get it working as a webservice. In the EventLog we've got SideBySide: "Dependent Assembly Microsoft.VC90.DebugCRT could not be found and Last Error was The referenced assembly is not installed on your system." - The structure of the webservice directory is as follows: PdfServiceLib.asmx PrecompiledApp.config Web.config bin\ itextsharp.dll itextsharp.pdb PdfServiceLib.dll PdfServiceLib.pdb Microsoft.VC90.DebugCRT\ Microsoft.VC90.DebugCRT.manifest msvcm90d.dll msvcp90d.dll msvcr90d.dll Microsoft.VC90.DebugMFC\ Microsoft.VC90.DebugMFC.manifest mfc90d.dll mfc90ud.dll mfcm90d.dll mfcm90ud.dll - PdfServiceLib.asmx contains this single line: %@ WebService Class="PdfServiceLib.PdfServiceLibClass" % - PdfServiceLib.dll itself is implemented in C++/CLI. It uses .NET 2.0, and depends on itextsharp.dll, which itextsharp.dll is implemented in C#. - <dependentAssembly> versions in PdfServiceLib.dll match exactly the versions of Microsoft.VC90.DebugCRT/MFC. - We install the webservice through the IIS Manager -> Default Web Site - New -> Virtual Directory. We leave the default settings, only check on the "Run scripts (such as ASP)" permission. - We access the service through http://localhost/PdfService/PdfServiceLib.asmx, but it returns "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)" and leaves the following mesage (mentioned at the beginning) in the event-log: SideBySide: "Dependent Assembly Microsoft.VC90.DebugCRT could not be found and Last Error was The referenced assembly is not installed on your system." Using ProcessMonitor I found that w3wp.exe looks for "Microsoft.VC90.DebugCRT" in the "bin\" directory (where it finds it), but later csrss.exe looks for the same in "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Tem porary ASP.NET Files\pdfservice.debug\efde1b6a\72378164\assembly\ dl3\501563d7\0054d6f7_987dca01\(Microsoft.VC90.Deb ugCRT\)Microsoft.VC90.DebugCRT.manifest" where it doesn't find it. - It seems to me that IIS copies the webservice dll-s to a temporary directory (see the previous point), but doesn't copy the dependencies as well, which results in the error. How to get the webservice working? Should I create a manifest file to tell IIS what are the PdfServiceLib.dll dependencies??? Or what else? Thank you, Martin. |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |