I have written a .NET Class library (a WS-Security based web-service proxy client), which is invokable via .NET Interop from ASP 2.0 Classic. The Class library is 1) registered to GAC 2) type library registered using regasm /tlb
It has all been working fine until I added a single line of log4net code! private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Order"); The .NET Class library is referencing the Released assembly of log4net 1.2.0beta8. I get error '80131534' when instantiating the Object as follows: Dim objOrderClient Set objOrderClient = CreateObject("MyOrg.web.publications.Order") Has anyone any experience in using log4net under .NET interop? Note, for the interopable to work, I had to get the Order class to implement the IOrder interface, which is marked as InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual) Code snippet as follows /***************Start of Order.cs***************/ using System.Diagnostics; using System.Configuration; using System.Xml.Serialization; using System; using System.IO; using System.Web.Services.Protocols; using System.ComponentModel; using System.Web.Services; using System.Runtime.InteropServices; using Microsoft.Web.Services2.Security; using Microsoft.Web.Services2.Security.Tokens; using Microsoft.Web.Services2.Security.X509; namespace MyOrg.web.publications { [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="iOrderSoap", Namespace="http://publisher/webservices/")] public class Order : Microsoft.Web.Services2.WebServicesClientProtocol , IOrder { public Order() { this.Url = "https://publisher/order.asmx"; //Don't even border with this. The class fail to instantiate before this point! //log4net.Config.DOMConfigurator.Configure(); } [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://publisher /webservices/PlaceOrder", RequestNamespace="http://publisher/webservices/", ResponseNamespace="http://publisher/webservices/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public string PlaceOrder([MarshalAs(UnmanagedType.IUnknown)] SimpleOrderData order) { //what this does is irrelevant here } } } /***************End of Order.cs***************/ /***************Start of IOrder.cs***************/ using System.Xml.Serialization; using System; using System.Web.Services.Protocols; using System.Web.Services; using System.Runtime.InteropServices; namespace MyOrg.web.publications { [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)] public interface IOrder { [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://publisher /webservices/PlaceOrder", RequestNamespace="http://publisher/webservices/", ResponseNamespace="http://publisher/webservices/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] string PlaceOrder([MarshalAs(UnmanagedType.IUnknown)] SimpleOrderData order) ; } } /***************End of IOrder.cs***************/