I think I figured it out ... had to build with my sample app with
mono's gmcs rather than mcs (this produces a .NET 2.0 assembly). The
apps seems to work now.
BTW, I've updated the build instructions wiki page (http://cwiki.apache.org/confluence/display/NMS/Building
) with the steps I took to get things working on OS X.
Nate
On Dec 24, 2007, at 4:44 PM, Jim Gomes wrote:
Nathan,
I'm not sure why you would be getting this. Yes, the
EventWaitHandle object
is new in .NET 2.0, but the Mono Project website documentation shows
documentation for this class. If the class were missing, it would
make
sense that you would get a compile time error. Because you are not
getting
a compile time error, and only a run-time error, then I would
suspect a
mis-match between your compile environment vs. your run-time
environment.
Is it possible that you have some old Mono assemblies hanging around
that
may cause problems? My understanding is that a .NET application
will only
run with the exact same assembly versions that it was compiled with,
so it
would seem odd that you could compile, but not run. I would suggest
running
ILDASM against the System.Threading assembly to see if you can find
and
review the EventWaitHandle class methods. I won't be able to check
this out
myself for a few more days.
- Jim
On Dec 20, 2007 6:43 AM, Nathan Mittler <[EMAIL PROTECTED]>
wrote:
Jim,
I created an app based off the example on the nms page just to make
sure things are working. Things compiled fine, but when I ran I get
the following error...
Macintosh:myDotNetApp nmittler$ mono hello.exe
** (hello.exe:174): WARNING **: Missing method Set in assembly /
Users/
nmittler/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/build/mono-2.0/
debug/Apache.NMS.ActiveMQ.dll, type System.Threading.EventWaitHandle
Unhandled Exception: System.MissingMethodException: Method not found:
'System.Threading.EventWaitHandle.Set'.
at Apache.NMS.ActiveMQ.Transport.WireFormatNegotiator.Start ()
[0x00000]
at Apache.NMS.ActiveMQ.Transport.TransportFilter.Start () [0x00000]
at Apache.NMS.ActiveMQ.Transport.TransportFilter.Start () [0x00000]
at Apache.NMS.ActiveMQ.Connection..ctor (ITransport transport,
Apache.NMS.ActiveMQ.Commands.ConnectionInfo info) [0x00000]
at Apache.NMS.ActiveMQ.ConnectionFactory.CreateConnection
(System.String userName, System.String password) [0x00000]
at Apache.NMS.ActiveMQ.ConnectionFactory.CreateConnection ()
[0x00000]
at Hello.Main (System.String[] args) [0x00000]
Looking at the online docs for this method, it sounds like it's only
supported since .NET v2.0. Given that mono does not fully support
2.0, might this be another compatibility issue with mono?
Thanks,
Nate
On Dec 19, 2007, at 8:02 AM, Jim Gomes wrote:
Nathan,
Part of the patch I am readying already includes a fix for these
errors.
Let me add in a patch for the GetHostEntry() problem you found, and
I will
send the patch file to you directly so you can apply it. I'd like
to see if
my recent changes will fix any of the problems you have been
reporting.
Thanks,
Jim
On Dec 19, 2007 6:11 AM, Nathan Mittler <[EMAIL PROTECTED]>
wrote: