0

Our software uses an old dll which is written in asp-classic-era VB so I'm not sure how I might edit and recompile it (though I have the source code). For security reasons we have to remove the MSXML 4.0 dlls from our server, but this causes a "fatal validation error" from the old dll (I believe because some methods it calls have 4.0 specific names like SAXXMLReader40 and XMLSchemaCache40). I wrote the following vb.net dll in an attempt to reroute any calls to these methods:

Namespace MSXML2
    Public Class SAXXMLReader40
        Inherits SAXXMLReader60Class
    End Class
    Public Class XMLSchemaCache40
        Inherits XMLSchemaCache60Class
    End Class
End Namespace

This didn't work and the error continues. The page calling the dll is also in asp classic but our IIS server can run .net code as well. Am I doing something wrong? Is there another workaround that doesn't involve rerouting methods? Or is my error caused by something completely different?

JQTaylor
  • 1
  • 1
  • 1
    Whatever the dll is written in it won't be Classic ASP. Classic ASP code isn't compiled, it's executed at runtime. I'm guessing that it's a 3rd party COM component which is being used in Classic ASP, and it's likely to have been written in VB6 – John Apr 01 '21 at 10:37
  • You're right, it's not in "classic asp," it's just in classic asp-era VB. I've edited to clarify. – JQTaylor Apr 01 '21 at 14:22
  • There are a few questions here about how to make a .net dll accessible to Classic ASP. It's not something I've tried but maybe they'll offer clues. Here's an example https://stackoverflow.com/questions/51974360/call-net-c-sharp-dll-method-from-classic-asp – John Apr 01 '21 at 22:19

0 Answers0