[Mono-dev] Web service client - SendOrPostCallback could not be loaded

Atsushi Eno atsushi at ximian.com
Tue Jul 25 09:05:39 EDT 2006


Janne Rantala wrote:
> 2006/7/25, Atsushi Eno <atsushi at ximian.com>:
>> Hi,
>> Janne Rantala wrote:
>> >> >> 2006/7/7, Atsushi Eno <atsushi at ximian.com>:
>> >> >>
>> >> >> > I made a fix in svn, but I have no test case for embedded
>> scenario.
>> >> >> > If you are using mono from svn, can you please try it?
>> >> >> >
>> >> >> > Atsushi Eno
>> >> >> >
>> >>
>> >>
>> > Hi again,
>> >
>> > I tried that web service from embedded mono -problem again. I still get
>> > that
>> > "exePath must be specified when not running inside a stand alone exe."
>> > message. Mono was built today from svn.
>> In the previous message you wrote that you hit different error
>> which indicates that it could successfully reached the point
>> to read configuration XML file.
>> Since I haven't changed any System.Configuration code, the problem
>> would rather inside Assembly.GetCallingAssembly() which I don't
>> know much (try this method and see if it returns something non-null),
>> or make sure that you don't use some older version of mono.
>> Atsushi Eno
> Hi Atsushi,
> Thanks for your reply. Assembly.GetCallingAssembly() returns "WSTest,
> Version, Culture=neutral". That seems to be ok? The dll I'm 
> using is
> the latest one I built from svn.

OK, try the following steps:

- change the error message in OpenExeConfigurationInternal()
   in the first "throw ArgumentException" in ConfigurationManager.cs
   in mcs/class/System.Configuration/System.Configuration, to
   whatever you like.
- Rebuild all, and install
- Run your application and make sure that your change is reflected.

Your stacktrace is indeed weird to me. There is a line

(System.String configKey) [0x00000]

which indicates that it invokes a method in an *interface* without
any implementation class information. It makes me impossible to
precisely keep track of the actual code execution (I haven't
ever experienced such a situation).

There is nothing other than ClientConfigurationSystem that invokes
OpenExeConfigurationInternal(), thus I can only guess that the
invoker is ClientConfigurationSystem, which uses GetCallingAssembly()
which you said does not return null.

Atsushi Eno

More information about the Mono-devel-list mailing list