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***************/
> 
> 

Reply via email to