Dino Viehland wrote: > For the call to .Load I think you'll want to provide "goodbye" instead of the > fully qualified path. > > If that still doesn't work there's a tool called fuslogvw.exe which is part > of the .NET Framework SDK (on my machine it's in %ProgramFiles%\Microsoft > Visual Studio 8\SDK\v2.0\Bin but if you don't have VS and instead just have > the SDK I believe it ends up in %ProgramFiles%\Microsoft.NET\SDK\...). Load > that up, turn on the logging options, and then re-run. Refresh in Fuslogvw > and you'll see a list of places where it tried to load your assembly from and > where it's not finding them. > Thanks for the reply Dino - and nice work on IP 1.1. :-)
I'm sure I tried just 'goodbye', but that tool for tracing what is going on sounds like a great idea. Thanks Michael Foord http://www.voidspace.org.uk/ironpython/index.shtml > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord > Sent: Monday, April 16, 2007 3:12 PM > To: Discussion of IronPython > Subject: [IronPython] Application Domains and IronPython > > Hello all, > > I'm trying to experiment with using AppDomains from IronPython - and not > getting very far. > > I've created a simple assembly in C#, containing the following : > > using System; > namespace goodbye > { > public class GoodbyeWorld > > { > public void test() > > { > Console.WriteLine("Goodbye World!"); > } > } > } > > > This is saved as 'goodbye.dll' and I can use it fine from IronPython. > > The initial code to create the AppDomain is as follows: > > import clr > > from System import AppDomain, AppDomainSetup, MarshalByRefObject > from System.Environment import CurrentDirectory > from System.IO import Path, Directory > from System.Reflection import Assembly > > > ads = AppDomainSetup() > ads.ApplicationBase = Directory.GetCurrentDirectory() > ads.DisallowBindingRedirects = False > ads.DisallowCodeDownload = True > ads.ConfigurationFile = > AppDomain.CurrentDomain.SetupInformation.ConfigurationFile > > > appDomain = AppDomain.CreateDomain("newAppDomain", None, ads) > > > asmPath = Path.Combine(Directory.GetCurrentDirectory(), "goodbye.dll") > > So far so good. > > If I try *either* of the following lines to *use* the appdomain, then it > fails: > > testClass = appDomain.CreateInstanceAndUnwrap(asmPath, > "goodbye.GoodbyeWorld") > > or: > > appDomain.Load(asmPath) > > > The error is: > > > Traceback (most recent call last): > File C:\Python Projects\modules in progress\ironpython\appDomain.py, > line 22, > in Initialize > File , line 0, in Load##97 > File mscorlib, line unknown, in Load > IOError: Could not load file or assembly 'C:\\Python Projects\\modules > in progre > ss\\ironpython\\goodbye.dll' or one of its dependencies. The given > assembly name > or codebase was invalid. (Exception from HRESULT: 0x80131047) > > I've also tried loading the assembly and using the assembly name, which > is obviously wrong because it then fails to find the assembly. > > Anyone got any clues as to what I am doing wrong ? > > All the best, > > > Fuzzyman > http://www.voidspace.org.uk/ironpython/index.shtml > > > _______________________________________________ > users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > _______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
