Patrick, Presumably you have registered the log4net assembly with the GAC as well. Can you see if enabling the log4net internal debug produces any output. http://logging.apache.org/log4net/release/manual/faq.html#internalDebug
If it is an assembly binding problem then you need to extract the fusion log. MSDN docs for FuslogVW.exe http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools /html/cpgrffusionlogviewerfuslogvwexe.asp More useful blog entry on the subject http://blogs.msdn.com/junfeng/archive/2004/02/14/72912.aspx Cheers, Nicko > -----Original Message----- > From: Patrick [mailto:[EMAIL PROTECTED] > Sent: 19 November 2004 10:32 > To: [email protected] > Subject: log4net and .NET/COM Interop > > 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("ht > tp://publisher > /webservices/PlaceOrder", > RequestNamespace="http://publisher/webservices/", > ResponseNamespace="http://publisher/webservices/", > Use=System.Web.Services.Description.SoapBindingUse.Literal, > ParameterStyle=System.Web.Services.Protocols.SoapParameterStyl > e.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("ht > tp://publisher > /webservices/PlaceOrder", > RequestNamespace="http://publisher/webservices/", > ResponseNamespace="http://publisher/webservices/", > Use=System.Web.Services.Description.SoapBindingUse.Literal, > ParameterStyle=System.Web.Services.Protocols.SoapParameterStyl > e.Wrapped)] > string PlaceOrder([MarshalAs(UnmanagedType.IUnknown)] > SimpleOrderData order) ; > > > > } > } > /***************End of IOrder.cs***************/ > >
