Use of assembly name vs. assembly path in
AMQConnection.LoadTransportFromAssembly()
-----------------------------------------------------------------------------------
Key: QPID-239
URL: https://issues.apache.org/jira/browse/QPID-239
Project: Qpid
Issue Type: Bug
Components: Dot Net Client
Environment: .NET 1.1 and 2.0
Reporter: Tomas Restrepo
Priority: Minor
The third argument to AMQConnection.LoadTransportFromAssembly() is called
"assemblyName", suggesting that it should contain a partially or fully
qualified assembly name.
However, the argument value is actually used as an argument to
Assembly.LoadFrom(), which doesn't take an assembly name but an assembly path
instead. The two are at odds with each other.
So, either the argument name is wrong (and it should be assemblyFilename
instead) or the call to Assembly.LoadFrom() should be replaced with a call to
Assembly.Load() instead. Which one is the correct fix will depend on what the
original intentions of the code are and the expected usage.
However, in general terms I'd recommend avoiding Assembly.LoadFrom() and use
Assembly.Load() instead to allow the runtime to do proper assembly loading
resolution (including loading from the GAC if necessary) and avoiding conflicts
because of load contexts (Load() and LoadFrom() load assemblies in different
binding contexts which affects how dependencies are resolved and loaded at
runtime. Check out http://blogs.msdn.com/suzcook/archive/2003/05/29/57143.aspx
and http://www.gotdotnet.com/team/clr/LoadFromIsolation.aspx for the details of
this).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira