bugzproxy, a C# based assembly that provides access to a Bugzilla server, is coded under linux and is designed to work with Mono.
It seems Mono is less strict than specifications or Microsoft implementation.
So here some modifications to compile it.
Structures initialization
In Microsoft .Net standard specification, the structures must be initialized.
The difference initializing a struct instead a class is you can omit the keyword new.
Based on CVS version, the 2 struct to initialize are in Bugzilla.server.cs, at lines 271 and 420:
1 |
LoginParam param = new LoginParam(); CreateBugParam param = new CreateBugParam(); |
Now, that’s compile 🙂
Interface accessibility
Well, that’s compile but when you’ll create another project, add a reference to bugzproxy, run you application and initializes Server object, a strange exception will be thrown.
The Problem is the IProxy interface is internal.
bugzillaProxy = XmlRpcProxyGen.Create
This instruction is executed in Server() constructor, called from external assembly. So, .Net framework throws a type not accessible exception.
Solution: s/internal/public
1 |
public interface IProxy : IXmlRpcProxy { |
Note that the author has committed this afternoon my changes to CVS.