[Ironpython-users] Importing modules in a restricted AppDomain

Cesar Mello cmello at gmail.com
Wed Mar 7 21:11:52 CET 2012


OK I changed from:

m_engine.Execute("import decimal");

to ExecuteAndWrap, and the objectOperations.Format returns:

<System.Security.SecurityException object at 0x000000000000002B
[System.Security.SecurityException: Request failed....]>

Please notice I'm just importing the standard decimal module. Breaking into
the first SecurityException I get the stack trace below.

Thanks a lot!

Best regards
Mello

  mscorlib.dll!System.Security.CodeAccessSecurityEngine.ThrowSecurityException(System.Reflection.RuntimeAssembly
asm, System.Security.PermissionSet granted, System.Security.PermissionSet
refused, System.RuntimeMethodHandleInternal rmh,
System.Security.Permissions.SecurityAction action, object demand,
System.Security.IPermission permThatFailed) + 0x103 bytes
  mscorlib.dll!System.Security.CodeAccessSecurityEngine.CheckSetHelper(System.Security.PermissionSet
grants, System.Security.PermissionSet refused,
System.Security.PermissionSet demands, System.RuntimeMethodHandleInternal
rmh, object assemblyOrString, System.Security.Permissions.SecurityAction
action, bool throwException) + 0x160 bytes
  [Native to Managed Transition]
  [Managed to Native Transition]
  IronPython.dll!IronPython.Runtime.WeakRefTracker.CallbackInfo.CallbackInfo(object
callback, object weakRef) + 0x5c bytes
  IronPython.dll!IronPython.Runtime.WeakRefTracker.ChainCallback(object
callback, object weakRef) + 0x71 bytes
  IronPython.dll!IronPython.Runtime.WeakRefTracker.WeakRefTracker(object
callback, object weakRef) + 0x8d bytes
  IronPython.Modules.dll!IronPython.Modules.PythonWeakRef.WeakRefHelpers.InitializeWeakRef(object
self, object target, object callback) + 0xe1 bytes
  IronPython.Modules.dll!IronPython.Modules.PythonWeakRef.ref.ref(object
object, object callback) + 0x46 bytes
  IronPython.Modules.dll!IronPython.Modules.PythonWeakRef.ref.ref(object
object) + 0x35 bytes
  IronPython.Modules.dll!IronPython.Modules.PythonWeakRef.ref.__new__(IronPython.Runtime.CodeContext
context, IronPython.Runtime.Types.PythonType cls, object object) + 0x1df
bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,IronPython.Runtime.Types.PythonType,object,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x23a bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run4<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, object arg3) +
0x1e4 bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute3<IronPython.Runtime.CodeContext,object,object,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0, object arg1, object arg2) +
0x63a bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<System.Func<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object,object>,System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x3b3 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run4<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, object arg3) +
0x1e4 bytes
  IronPython.dll!IronPython.Compiler.Ast.CallExpression.Invoke1Instruction.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x10f bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run3<IronPython.Runtime.PythonFunction,object,object,object>(IronPython.Runtime.PythonFunction
arg0, object arg1, object arg2) + 0x1b7 bytes
  IronPython.dll!IronPython.Compiler.PythonCallTargets.OriginalCallTarget2(IronPython.Runtime.PythonFunction
function, object arg0, object arg1) + 0xa8 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<System.Func<IronPython.Runtime.PythonFunction,object,object,object>,IronPython.Runtime.PythonFunction,object,object,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x2fb bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run4<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,IronPython.Runtime.PythonFunction,object,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1,
IronPython.Runtime.PythonFunction arg2, object arg3) + 0x1e4 bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute3<IronPython.Runtime.CodeContext,IronPython.Runtime.PythonFunction,object,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0,
IronPython.Runtime.PythonFunction arg1, object arg2) + 0x63a bytes
  IronPython.dll!IronPython.Runtime.Types.LateBoundInitBinder.FastInitSite.CallTarget(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext context, object inst) + 0x102 bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute2<IronPython.Runtime.CodeContext,object,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0, object arg1) + 0x5f3 bytes
  IronPython.dll!IronPython.Runtime.Types.PythonType.FastTypeSite.CallTarget(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext context, object type) + 0x10f bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute2<IronPython.Runtime.CodeContext,object,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0, object arg1) + 0x5f3 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<System.Func<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object>,System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x2fb bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run3<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2) + 0x1b7 bytes
  IronPython.dll!IronPython.Compiler.Ast.CallExpression.Invoke0Instruction.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xbd bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run5<IronPython.Runtime.PythonFunction,object,object,object,object,object>(IronPython.Runtime.PythonFunction
arg0, object arg1, object arg2, object arg3, object arg4) + 0x21a bytes
  IronPython.dll!IronPython.Compiler.PythonCallTargets.OriginalCallTarget4(IronPython.Runtime.PythonFunction
function, object arg0, object arg1, object arg2, object arg3) + 0xc4 bytes
  IronPython.dll!IronPython.Runtime.PythonFunction.FunctionCaller<object,string,IronPython.Runtime.PythonTuple,IronPython.Runtime.PythonDictionary>.Call4(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext context, object func, object arg0,
string arg1, IronPython.Runtime.PythonTuple arg2,
IronPython.Runtime.PythonDictionary arg3) + 0x11f bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute6<IronPython.Runtime.CodeContext,object,object,string,IronPython.Runtime.PythonTuple,IronPython.Runtime.PythonDictionary,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0, object arg1, object arg2, string
arg3, IronPython.Runtime.PythonTuple arg4,
IronPython.Runtime.PythonDictionary arg5) + 0x70f bytes
  IronPython.dll!IronPython.Runtime.Types.PythonType.NewSite<string,IronPython.Runtime.PythonTuple,IronPython.Runtime.PythonDictionary>.Call(IronPython.Runtime.CodeContext
context, object typeOrInstance, string arg0, IronPython.Runtime.PythonTuple
arg1, IronPython.Runtime.PythonDictionary arg2) + 0x95 bytes
  IronPython.dll!IronPython.Runtime.Types.PythonType.FastTypeSite<string,IronPython.Runtime.PythonTuple,IronPython.Runtime.PythonDictionary>.CallTarget(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext context, object type, string arg0,
IronPython.Runtime.PythonTuple arg1, IronPython.Runtime.PythonDictionary
arg2) + 0xf3 bytes
  System.Core.dll!System.Dynamic.UpdateDelegates.UpdateAndExecute5<IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonTuple,IronPython.Runtime.PythonDictionary,object>(System.Runtime.CompilerServices.CallSite
site, IronPython.Runtime.CodeContext arg0, object arg1, string arg2,
IronPython.Runtime.PythonTuple arg3, IronPython.Runtime.PythonDictionary
arg4) + 0x6c8 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.MakeClass(IronPython.Runtime.CodeContext
context, string name, object[] bases, string selfNames,
IronPython.Runtime.PythonDictionary vars) + 0x5ac bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.MakeClass(IronPython.Runtime.FunctionCode
funcCode,
System.Func<IronPython.Runtime.CodeContext,IronPython.Runtime.CodeContext>
body, IronPython.Runtime.CodeContext parentContext, string name, object[]
bases, string selfNames) + 0xf1 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.FunctionCode,System.Func<IronPython.Runtime.CodeContext,IronPython.Runtime.CodeContext>,IronPython.Runtime.CodeContext,string,object[],string,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x483 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run1<IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.FunctionCode
arg0) + 0x15e bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x1c8 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.InitializeModule(string
fileName, IronPython.Runtime.ModuleContext moduleContext,
Microsoft.Scripting.ScriptCode scriptCode, IronPython.Runtime.ModuleOptions
options) + 0x288 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options, out
Microsoft.Scripting.ScriptCode scriptCode) + 0x1b6 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options) + 0x61 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromSourceUnit(IronPython.Runtime.CodeContext
context, Microsoft.Scripting.SourceUnit sourceCode, string name, string
path) + 0x65 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadModuleFromSource(IronPython.Runtime.CodeContext
context, string name, string path) + 0x1b0 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromDisk(IronPython.Runtime.CodeContext
context, string name, string fullName, string str) + 0x13e bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPathHook(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path,
System.Func<IronPython.Runtime.CodeContext,string,string,string,object>
defaultLoader) + 0x29a bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPath(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path) + 0xc4
bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportTopAbsolute(IronPython.Runtime.CodeContext
context, string name) + 0x1ff bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportModule(IronPython.Runtime.CodeContext
context, object globals, string modName, bool bottom, int level) + 0x962
bytes
  IronPython.dll!IronPython.Modules.Builtin.__import__(IronPython.Runtime.CodeContext
context, string name, object globals, object locals, object fromlist, int
level) + 0x1a5 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,object,object,object,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x45c bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run7<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonTuple,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, string arg3,
IronPython.Runtime.PythonDictionary arg4,
IronPython.Runtime.PythonDictionary arg5, IronPython.Runtime.PythonTuple
arg6) + 0x280 bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportLightThrow(IronPython.Runtime.CodeContext
context, string fullName, IronPython.Runtime.PythonTuple from, int level) +
0x178 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.ImportTop(IronPython.Runtime.CodeContext
context, string fullName, int level) + 0x3f bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x212 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run1<IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.FunctionCode
arg0) + 0x15e bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x1c8 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.InitializeModule(string
fileName, IronPython.Runtime.ModuleContext moduleContext,
Microsoft.Scripting.ScriptCode scriptCode, IronPython.Runtime.ModuleOptions
options) + 0x288 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options, out
Microsoft.Scripting.ScriptCode scriptCode) + 0x1b6 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options) + 0x61 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromSourceUnit(IronPython.Runtime.CodeContext
context, Microsoft.Scripting.SourceUnit sourceCode, string name, string
path) + 0x65 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadModuleFromSource(IronPython.Runtime.CodeContext
context, string name, string path) + 0x1b0 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromDisk(IronPython.Runtime.CodeContext
context, string name, string fullName, string str) + 0x13e bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPathHook(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path,
System.Func<IronPython.Runtime.CodeContext,string,string,string,object>
defaultLoader) + 0x29a bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPath(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path) + 0xc4
bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportTopAbsolute(IronPython.Runtime.CodeContext
context, string name) + 0x1ff bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportModule(IronPython.Runtime.CodeContext
context, object globals, string modName, bool bottom, int level) + 0x962
bytes
  IronPython.dll!IronPython.Modules.Builtin.__import__(IronPython.Runtime.CodeContext
context, string name, object globals, object locals, object fromlist, int
level) + 0x1a5 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,object,object,object,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x45c bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run7<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonTuple,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, string arg3,
IronPython.Runtime.PythonDictionary arg4,
IronPython.Runtime.PythonDictionary arg5, IronPython.Runtime.PythonTuple
arg6) + 0x280 bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportLightThrow(IronPython.Runtime.CodeContext
context, string fullName, IronPython.Runtime.PythonTuple from, int level) +
0x178 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.ImportTop(IronPython.Runtime.CodeContext
context, string fullName, int level) + 0x3f bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x212 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run1<IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.FunctionCode
arg0) + 0x15e bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x1c8 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.InitializeModule(string
fileName, IronPython.Runtime.ModuleContext moduleContext,
Microsoft.Scripting.ScriptCode scriptCode, IronPython.Runtime.ModuleOptions
options) + 0x288 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options, out
Microsoft.Scripting.ScriptCode scriptCode) + 0x1b6 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options) + 0x61 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromSourceUnit(IronPython.Runtime.CodeContext
context, Microsoft.Scripting.SourceUnit sourceCode, string name, string
path) + 0x65 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadModuleFromSource(IronPython.Runtime.CodeContext
context, string name, string path) + 0x1b0 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromDisk(IronPython.Runtime.CodeContext
context, string name, string fullName, string str) + 0x13e bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPathHook(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path,
System.Func<IronPython.Runtime.CodeContext,string,string,string,object>
defaultLoader) + 0x29a bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPath(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path) + 0xc4
bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportTopAbsolute(IronPython.Runtime.CodeContext
context, string name) + 0x1ff bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportModule(IronPython.Runtime.CodeContext
context, object globals, string modName, bool bottom, int level) + 0x962
bytes
  IronPython.dll!IronPython.Modules.Builtin.__import__(IronPython.Runtime.CodeContext
context, string name, object globals, object locals, object fromlist, int
level) + 0x1a5 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,object,object,object,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x45c bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run7<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonTuple,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, string arg3,
IronPython.Runtime.PythonDictionary arg4,
IronPython.Runtime.PythonDictionary arg5, IronPython.Runtime.PythonTuple
arg6) + 0x280 bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportLightThrow(IronPython.Runtime.CodeContext
context, string fullName, IronPython.Runtime.PythonTuple from, int level) +
0x178 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.ImportTop(IronPython.Runtime.CodeContext
context, string fullName, int level) + 0x3f bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x212 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run1<IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.FunctionCode
arg0) + 0x15e bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x1c8 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.InitializeModule(string
fileName, IronPython.Runtime.ModuleContext moduleContext,
Microsoft.Scripting.ScriptCode scriptCode, IronPython.Runtime.ModuleOptions
options) + 0x288 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options, out
Microsoft.Scripting.ScriptCode scriptCode) + 0x1b6 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options) + 0x61 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromSourceUnit(IronPython.Runtime.CodeContext
context, Microsoft.Scripting.SourceUnit sourceCode, string name, string
path) + 0x65 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadModuleFromSource(IronPython.Runtime.CodeContext
context, string name, string path) + 0x1b0 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromDisk(IronPython.Runtime.CodeContext
context, string name, string fullName, string str) + 0x13e bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPathHook(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path,
System.Func<IronPython.Runtime.CodeContext,string,string,string,object>
defaultLoader) + 0x29a bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPath(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path) + 0xc4
bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportTopAbsolute(IronPython.Runtime.CodeContext
context, string name) + 0x1ff bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportModule(IronPython.Runtime.CodeContext
context, object globals, string modName, bool bottom, int level) + 0x962
bytes
  IronPython.dll!IronPython.Modules.Builtin.__import__(IronPython.Runtime.CodeContext
context, string name, object globals, object locals, object fromlist, int
level) + 0x1a5 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,object,object,object,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x45c bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run7<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonTuple,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, string arg3,
IronPython.Runtime.PythonDictionary arg4,
IronPython.Runtime.PythonDictionary arg5, IronPython.Runtime.PythonTuple
arg6) + 0x280 bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportLightThrow(IronPython.Runtime.CodeContext
context, string fullName, IronPython.Runtime.PythonTuple from, int level) +
0x178 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.ImportBottom(IronPython.Runtime.CodeContext
context, string fullName, int level) + 0x64 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x212 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run1<IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.FunctionCode
arg0) + 0x15e bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x1c8 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.InitializeModule(string
fileName, IronPython.Runtime.ModuleContext moduleContext,
Microsoft.Scripting.ScriptCode scriptCode, IronPython.Runtime.ModuleOptions
options) + 0x288 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options, out
Microsoft.Scripting.ScriptCode scriptCode) + 0x1b6 bytes
  IronPython.dll!IronPython.Runtime.PythonContext.CompileModule(string
fileName, string moduleName, Microsoft.Scripting.SourceUnit sourceCode,
IronPython.Runtime.ModuleOptions options) + 0x61 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromSourceUnit(IronPython.Runtime.CodeContext
context, Microsoft.Scripting.SourceUnit sourceCode, string name, string
path) + 0x65 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadModuleFromSource(IronPython.Runtime.CodeContext
context, string name, string path) + 0x1b0 bytes
  IronPython.dll!IronPython.Runtime.Importer.LoadFromDisk(IronPython.Runtime.CodeContext
context, string name, string fullName, string str) + 0x13e bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPathHook(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path,
System.Func<IronPython.Runtime.CodeContext,string,string,string,object>
defaultLoader) + 0x29a bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportFromPath(IronPython.Runtime.CodeContext
context, string name, string fullName, IronPython.Runtime.List path) + 0xc4
bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportTopAbsolute(IronPython.Runtime.CodeContext
context, string name) + 0x1ff bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportModule(IronPython.Runtime.CodeContext
context, object globals, string modName, bool bottom, int level) + 0x962
bytes
  IronPython.dll!IronPython.Modules.Builtin.__import__(IronPython.Runtime.CodeContext
context, string name, object globals, object locals, object fromlist, int
level) + 0x1a5 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,object,object,object,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x45c bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run7<System.Runtime.CompilerServices.CallSite,IronPython.Runtime.CodeContext,object,string,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonDictionary,IronPython.Runtime.PythonTuple,object>(System.Runtime.CompilerServices.CallSite
arg0, IronPython.Runtime.CodeContext arg1, object arg2, string arg3,
IronPython.Runtime.PythonDictionary arg4,
IronPython.Runtime.PythonDictionary arg5, IronPython.Runtime.PythonTuple
arg6) + 0x280 bytes
  IronPython.dll!IronPython.Runtime.Importer.ImportLightThrow(IronPython.Runtime.CodeContext
context, string fullName, IronPython.Runtime.PythonTuple from, int level) +
0x178 bytes
  IronPython.dll!IronPython.Runtime.Operations.PythonOps.ImportTop(IronPython.Runtime.CodeContext
context, string fullName, int level) + 0x3f bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.FuncCallInstruction<IronPython.Runtime.CodeContext,string,int,object>.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0x212 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.Interpreter.Run(Microsoft.Scripting.Interpreter.InterpretedFrame
frame) + 0xf0 bytes
  Microsoft.Dynamic.dll!Microsoft.Scripting.Interpreter.LightLambda.Run2<IronPython.Runtime.CodeContext,IronPython.Runtime.FunctionCode,object>(IronPython.Runtime.CodeContext
arg0, IronPython.Runtime.FunctionCode arg1) + 0x18f bytes
  IronPython.dll!IronPython.Compiler.PythonScriptCode.RunWorker(IronPython.Runtime.CodeContext
ctx) + 0x9e bytes
  IronPython.dll!IronPython.Compiler.PythonScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0xb9 bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Microsoft.Scripting.Runtime.Scope
scope) + 0x33f bytes
  IronPython.dll!IronPython.Compiler.RuntimeScriptCode.Run(Microsoft.Scripting.Runtime.Scope
scope) + 0x32 bytes
  Microsoft.Scripting.dll!Microsoft.Scripting.SourceUnit.Execute(Microsoft.Scripting.Runtime.Scope
scope, Microsoft.Scripting.ErrorSink errorSink) + 0xf4 bytes
  Microsoft.Scripting.dll!Microsoft.Scripting.SourceUnit.Execute(Microsoft.Scripting.Runtime.Scope
scope) + 0x3f bytes
  Microsoft.Scripting.dll!Microsoft.Scripting.Hosting.ScriptSource.Execute(Microsoft.Scripting.Hosting.ScriptScope
scope) + 0x76 bytes
  Microsoft.Scripting.dll!Microsoft.Scripting.Hosting.ScriptEngine.Execute(string
expression, Microsoft.Scripting.Hosting.ScriptScope scope) + 0x53 bytes
  Microsoft.Scripting.dll!Microsoft.Scripting.Hosting.ScriptEngine.ExecuteAndWrap(string
expression, Microsoft.Scripting.Hosting.ScriptScope scope, out
System.Runtime.Remoting.ObjectHandle exception) + 0x64 bytes
  [Native to Managed Transition]
  [Managed to Native Transition]
  mscorlib.dll!System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage
msg, int methodPtr, bool fExecuteInContext) + 0x429 bytes
  mscorlib.dll!System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage
reqMsg) + 0x107 bytes
  mscorlib.dll!System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage
reqMsg) + 0x16c bytes
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(object[]
args) + 0x1ba bytes
  [Native to Managed Transition]
  [Managed to Native Transition]
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage
reqMsg) + 0x113 bytes
  mscorlib.dll!System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(System.Runtime.Remoting.Messaging.IMessage
msg) + 0x167 bytes
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(byte[]
reqStmBuff, System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage
smuggledMcm, out
System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage smuggledMrm)
+ 0xc8 bytes
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(object[]
args) + 0x92 bytes
  [Appdomain Transition]
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(byte[]
reqStmBuff, System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage
smuggledMcm, out
System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage smuggledMrm)
+ 0xa0 bytes
  mscorlib.dll!System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage
reqMsg) + 0x13b bytes
  mscorlib.dll!System.Runtime.Remoting.Proxies.RemotingProxy.CallProcessMessage(System.Runtime.Remoting.Messaging.IMessageSink
ms, System.Runtime.Remoting.Messaging.IMessage reqMsg,
System.Runtime.Remoting.Contexts.ArrayWithSize proxySinks,
System.Threading.Thread currentThread,
System.Runtime.Remoting.Contexts.Context currentContext, bool
bSkippingContextChain) + 0x9e bytes
  mscorlib.dll!System.Runtime.Remoting.Proxies.RemotingProxy.InternalInvoke(System.Runtime.Remoting.Messaging.IMethodCallMessage
reqMcmMsg, bool useDispatchMessage, int callType) + 0x525 bytes
  mscorlib.dll!System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(ref
System.Runtime.Remoting.Proxies.MessageData msgData, int type) + 0x5fa bytes
> Elipse.Epm.Scripting.dll!Elipse.Epm.Scripting.ExpressionEvaluator.ImportStandardModules(Microsoft.Scripting.Hosting.ScriptScope
scope) Line 181 + 0x3d bytes C#








On Wed, Mar 7, 2012 at 4:47 PM, Dino Viehland <dinov at microsoft.com> wrote:

>  After adding the reflection permissions I wonder what the exception is.
> Instead of doing Engine.Execute(string, ScriptScope) can you instead call
> ExecuteAndWrap(string, ScriptScope, out ObjectHandle)?  In general when
> you’re working with the remote domain you’ll want to use the *Wrap versions
> to avoid serializing results back into the local domain (which can fail).
> ****
>
> ** **
>
> I’m not sure if we’re trying to serialize an exception object here or the
> result of your execution, but either way one of those is failing.  You
> should be able to check and see if the handles are null, and can also pass
> them back into the remote domain for formatting (using either
> ObjectOperations.Format or ExceptionOperations.FormatException) and just
> get a string back.****
>
> ** **
>
> *From:* Cesar Mello [mailto:cmello at gmail.com]
> *Sent:* Wednesday, March 07, 2012 11:38 AM
> *To:* Dino Viehland
> *Cc:* ironpython-users at python.org
>
> *Subject:* Re: [Ironpython-users] Importing modules in a restricted
> AppDomain****
>
>  ** **
>
> Thanks a lot for the help guys. I'm trying to walk on my own, but just for
> a quick feedback I've used the code suggested and now when I run "import
> decimal" I get a MethodAccessException. I presumed it was safe to add all
> the Reflection permissions and then I get an unhandled
> ArgumentNullException (second stack trace). There is a bunch of internal
> SecurityExceptions that are handled in the meantime though. I'll try to
> debug this using the Console in a restricted AppDomain, so please don't
> bother to answer me if I am doing some silly mistake.****
>
> ** **
>
> Thanks and best regards!****
>
> Mello****
>
> ** **
>
> Stack trace 1 (MethodAccessException)****
>
> ** **
>
> Attempt by method
> 'Microsoft.Scripting.Utils.ReflectionUtils.CreateDelegate(System.Reflection.MethodInfo,
> System.Type, System.Object)' to access method
> 'IronPython.Compiler.Ast.UncollectableCompilationMode.NextSite<System.Func`4<System.Runtime.CompilerServices.CallSite,System.Object,IronPython.Runtime.CodeContext,System.Object>>(System.Dynamic.DynamicMetaObjectBinder)'
> failed.****
>
> ** **
>
>    at System.Delegate.BindToMethodInfo(Object target, IRuntimeMethodInfo
> method, RuntimeType methodType, DelegateBindingFlags flags)****
>
>    at System.Delegate.CreateDelegate(Type type, Object firstArgument,
> MethodInfo method, Boolean throwOnBindFailure)****
>
>    at Microsoft.Scripting.Utils.ReflectionUtils.CreateDelegate(MethodInfo
> methodInfo, Type delegateType, Object target)****
>
>    at Microsoft.Scripting.Utils.ReflectionUtils.CreateDelegate(MethodInfo
> methodInfo, Type delegateType)****
>
>    at
> IronPython.Compiler.Ast.UncollectableCompilationMode.DelegateCache.MakeDelegateType(Type
> retType, Expression[] args)****
>
>    at
> IronPython.Compiler.Ast.UncollectableCompilationMode.ReduceDynamic(DynamicMetaObjectBinder
> binder, Type retType, Expression arg0, Expression arg1)****
>
>    at IronPython.Compiler.Ast.DynamicGetMemberExpression.Reduce()****
>
>    at System.Linq.Expressions.Expression.ReduceAndCheck()****
>
>    at System.Linq.Expressions.Expression.VisitChildren(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression
> node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.VisitExtension(Expression
> node)****
>
>    at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
> ****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.Expression.VisitChildren(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression
> node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.VisitExtension(Expression
> node)****
>
>    at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
> ****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression
> node)****
>
>    at System.Linq.Expressions.BlockExpression.Accept(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression
> node)****
>
>    at System.Linq.Expressions.BlockExpression.Accept(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.Expression.VisitChildren(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression
> node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.VisitExtension(Expression
> node)****
>
>    at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
> ****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression
> node)****
>
>    at System.Linq.Expressions.BlockExpression.Accept(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.Expression.VisitChildren(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression
> node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.VisitExtension(Expression
> node)****
>
>    at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
> ****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression
> node)****
>
>    at System.Linq.Expressions.BlockExpression.Accept(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.RewriteTryBody(TryExpression
> node, LabelTarget ehLabel)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.RewriteTryCatch(TryExpression
> node)****
>
>    at
> Microsoft.Scripting.Ast.LightExceptionRewriter.VisitTry(TryExpression node)
> ****
>
>    at System.Linq.Expressions.TryExpression.Accept(ExpressionVisitor
> visitor)****
>
>    at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)****
>
>    at Microsoft.Scripting.Ast.LightExceptionRewriter.Rewrite(Expression
> expr)****
>
>    at Microsoft.Scripting.Ast.LightExceptionConvertingExpression.Reduce()*
> ***
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileExtensionExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileMethodCallExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileExtensionExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockStart(BlockExpression
> node)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockStart(BlockExpression
> node)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileExtensionExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockStart(BlockExpression
> node)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileExtensionExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileTryExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileTryExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileAsVoid(Expression expr)
> ****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockStart(BlockExpression
> node)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileBlockExpression(Expression
> expr, Boolean asVoid)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileLabelExpression(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileNoLabelPush(Expression
> expr)****
>
>    at Microsoft.Scripting.Interpreter.LightCompiler.Compile(Expression
> expr)****
>
>    at
> Microsoft.Scripting.Interpreter.LightCompiler.CompileTop(LightLambdaExpression
> node)****
>
>    at Microsoft.Scripting.Ast.LightExpression`1.Compile(Int32
> compilationThreshold)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Compile()****
>
>    at IronPython.Compiler.RuntimeScriptCode.EnsureCompiled()****
>
>    at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)****
>
>    at IronPython.Runtime.PythonContext.InitializeModule(String fileName,
> ModuleContext moduleContext, ScriptCode scriptCode, ModuleOptions options)
> ****
>
>    at IronPython.Runtime.PythonContext.CompileModule(String fileName,
> String moduleName, SourceUnit sourceCode, ModuleOptions options,
> ScriptCode& scriptCode)****
>
>    at IronPython.Runtime.PythonContext.CompileModule(String fileName,
> String moduleName, SourceUnit sourceCode, ModuleOptions options)****
>
>    at IronPython.Runtime.Importer.LoadFromSourceUnit(CodeContext context,
> SourceUnit sourceCode, String name, String path)****
>
>    at IronPython.Runtime.Importer.LoadModuleFromSource(CodeContext
> context, String name, String path)****
>
>    at IronPython.Runtime.Importer.LoadFromDisk(CodeContext context, String
> name, String fullName, String str)****
>
>    at IronPython.Runtime.Importer.ImportFromPathHook(CodeContext context,
> String name, String fullName, List path, Func`5 defaultLoader)****
>
>    at IronPython.Runtime.Importer.ImportFromPath(CodeContext context,
> String name, String fullName, List path)****
>
>    at IronPython.Runtime.Importer.ImportTopAbsolute(CodeContext context,
> String name)****
>
>    at IronPython.Runtime.Importer.ImportModule(CodeContext context, Object
> globals, String modName, Boolean bottom, Int32 level)****
>
>    at IronPython.Modules.Builtin.__import__(CodeContext context, String
> name, Object globals, Object locals, Object fromlist, Int32 level)****
>
>    at System.Func`7.Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6
> arg6)****
>
>    at
> Microsoft.Scripting.Interpreter.FuncCallInstruction`7.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame
> frame)****
>
>    at
> Microsoft.Scripting.Interpreter.LightLambda.Run7[T0,T1,T2,T3,T4,T5,T6,TRet](T0
> arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)****
>
>    at IronPython.Runtime.Importer.ImportLightThrow(CodeContext context,
> String fullName, PythonTuple from, Int32 level)****
>
>    at IronPython.Runtime.Operations.PythonOps.ImportTop(CodeContext
> context, String fullName, Int32 level)****
>
>    at System.Func`4.Invoke(T1 arg1, T2 arg2, T3 arg3)****
>
>    at
> Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0
> arg0, T1 arg1)****
>
>    at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)****
>
>    at IronPython.Compiler.PythonScriptCode.Run(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)****
>
>    at Microsoft.Scripting.SourceUnit.Execute(Scope scope, ErrorSink
> errorSink)****
>
>    at Microsoft.Scripting.SourceUnit.Execute(Scope scope)****
>
>    at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)*
> ***
>
>    at Microsoft.Scripting.Hosting.ScriptEngine.Execute(String expression,
> ScriptScope scope)****
>
>    at Microsoft.Scripting.Hosting.ScriptEngine.Execute(String expression,
> ScriptScope scope)****
>
>    at
> Elipse.Epm.Scripting.ExpressionEvaluator.ImportStandardModules(ScriptScope
> scope) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 174****
>
>    at Elipse.Epm.Scripting.ExpressionEvaluator.AddExpression(Expression
> expression, Object clientHandle) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 82****
>
> ** **
>
> ** **
>
> ** **
>
> --------------------------------------------------****
>
> After adding Reflection permissions;****
>
> ** **
>
> at System.Reflection.RuntimeMethodInfo.MakeGenericMethod(Type[]
> methodInstantiation)****
>
>    at
> System.Reflection.MemberInfoSerializationHolder.GetRealObject(StreamingContext
> context)****
>
> ** **
>
>    at Microsoft.Scripting.Hosting.ScriptEngine.Execute(String expression,
> ScriptScope scope)****
>
>    at
> Elipse.Epm.Scripting.ExpressionEvaluator.ImportStandardModules(ScriptScope
> scope) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 174****
>
>    at Elipse.Epm.Scripting.ExpressionEvaluator.AddExpression(Expression
> expression, Object clientHandle) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 82****
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> On Wed, Mar 7, 2012 at 2:34 PM, Dino Viehland <dinov at microsoft.com> wrote:
> ****
>
> Nope, ideally IronPython’s assemblies are not trusted.  In general
> IronPython’s assemblies are “security transparent” which means they don’t
> affect any security decisions made by the CLR.  If you gave them full trust
> then the user could do something like file(‘C:\\bad_file.txt’, ‘w+’).  The
> security transparency means that IronPython can contain a bunch of code for
> accessing files and stuff but that code doesn’t need to be audited for
> security because we don’t have any permissions of our own.****
>
>  ****
>
> You might want to try doing something like:****
>
>  ****
>
>             AppDomainSetup info = new AppDomainSetup();****
>
>             info.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;*
> ***
>
>             info.ApplicationName = "Test";****
>
>             ****
>
>             Evidence evidence = new Evidence();****
>
>             evidence.AddHost(new Zone(SecurityZone.Internet));****
>
>  ****
>
>             System.Security.PermissionSet permSet =
> SecurityManager.GetStandardSandbox(evidence);****
>
>             AppDomain newDomain = AppDomain.CreateDomain("test", evidence,
> info, permSet, null);****
>
>             ****
>
>             // create runtime in partial trust...****
>
>             ScriptRuntime runtime = Python.CreateRuntime(newDomain);****
>
>  ****
>
> Which will run the code in the internet zone which should be a safe set of
> permissions – you might need to add in your path access to this, but we use
> this setup in a test case so it definitely works.****
>
>  ****
>
> *From:* ironpython-users-bounces+dinov=microsoft.com at python.org [mailto:
> ironpython-users-bounces+dinov=microsoft.com at python.org] *On Behalf Of *Cesar
> Mello
> *Sent:* Wednesday, March 07, 2012 5:17 AM
> *To:* ironpython-users at python.org
> *Subject:* Re: [Ironpython-users] Importing modules in a restricted
> AppDomain****
>
>  ****
>
> Hi,****
>
>  ****
>
> Must I grant fulltrust permissions to the IronPython assemblies? Sorry for
> the basic question, but will the scripts still be restricted in this case?
> ****
>
>  ****
>
> Thank you a lot. This is a bit urgent for me, because it's the last step
> before I can finish the prototype with IronPython and let it be accepted
> for embedding in our product.****
>
>  ****
>
> Best regards!****
>
> Mello****
>
>  ****
>
>  ****
>
> On Mon, Mar 5, 2012 at 4:26 PM, Cesar Mello <cmello at gmail.com> wrote:****
>
> Please ignore my previous question. Sucessfully added FileIOPermission
> with PathDiscovery and it worked:****
>
>  ****
>
>       var pythonLibsPath = ExpressionEvaluator.GetPythonLibsPath();****
>
>       permissionSet.AddPermission(new
> FileIOPermission(FileIOPermissionAccess.PathDiscovery |
> FileIOPermissionAccess.Read, pythonLibsPath));****
>
>  ****
>
>  ****
>
> Now I'm facing some problem with Emit permissions.
> Added ReflectionPermission(PermissionState.Unrestricted) but still doesn't
> work.****
>
>  ****
>
> I'm using .NET 4 in this project at work. Sorry if the subject is too
> general and off-topic.****
>
>  ****
>
> Best regards****
>
> Mello****
>
>  ****
>
> Message: Request for the permission of type
> 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0,
> Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.****
>
>  ****
>
> at System.Security.CodeAccessSecurityEngine.Check(Object demand,
> StackCrawlMark& stackMark, Boolean isPermSet)****
>
>    at System.Security.CodeAccessPermission.Demand()****
>
>    at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternalNoLock(String
> name, Boolean emitSymbolInfo, StackCrawlMark& stackMark)****
>
>    at
> System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternal(String
> name, Boolean emitSymbolInfo, StackCrawlMark& stackMark)****
>
>    at System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(String
> name, Boolean emitSymbolInfo)****
>
>    at Microsoft.Scripting.Generation.AssemblyGen..ctor(AssemblyName name,
> String outDir, String outFileExtension, Boolean isDebuggable,
> PortableExecutableKinds peKind, ImageFileMachine machine)****
>
>    at Microsoft.Scripting.Generation.AssemblyGen..ctor(AssemblyName name,
> String outDir, String outFileExtension, Boolean isDebuggable)****
>
>    at Microsoft.Scripting.Generation.Snippets.CreateNewAssembly(String
> nameSuffix, Boolean emitSymbols)****
>
>    at Microsoft.Scripting.Generation.Snippets.GetOrCreateAssembly(Boolean
> emitSymbols, AssemblyGen& assembly)****
>
>    at Microsoft.Scripting.Generation.Snippets.GetAssembly(Boolean
> emitSymbols)****
>
>    at Microsoft.Scripting.Generation.Snippets.DefineType(String name, Type
> parent, Boolean preserveName, Boolean emitDebugSymbols)****
>
>    at
> Microsoft.Scripting.Generation.CompilerHelpers.CompileToMethod(LambdaExpression
> lambda, DebugInfoGenerator debugInfoGenerator, Boolean emitDebugSymbols)**
> **
>
>    at
> Microsoft.Scripting.Generation.CompilerHelpers.CompileToMethod[T](Expression`1
> lambda, DebugInfoGenerator debugInfoGenerator, Boolean emitDebugSymbols)**
> **
>
>    at
> Microsoft.Scripting.Generation.CompilerHelpers.Compile[T](Expression`1
> lambda, Boolean emitDebugSymbols)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Compile()****
>
>    at IronPython.Compiler.RuntimeScriptCode.EnsureCompiled()****
>
>    at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)****
>
>    at IronPython.Runtime.PythonContext.InitializeModule(String fileName,
> ModuleContext moduleContext, ScriptCode scriptCode, ModuleOptions options)
> ****
>
>    at IronPython.Runtime.PythonContext.CompileModule(String fileName,
> String moduleName, SourceUnit sourceCode, ModuleOptions options,
> ScriptCode& scriptCode)****
>
>    at IronPython.Runtime.PythonContext.CompileModule(String fileName,
> String moduleName, SourceUnit sourceCode, ModuleOptions options)****
>
>    at IronPython.Runtime.Importer.LoadFromSourceUnit(CodeContext context,
> SourceUnit sourceCode, String name, String path)****
>
>    at IronPython.Runtime.Importer.LoadModuleFromSource(CodeContext
> context, String name, String path)****
>
>    at IronPython.Runtime.Importer.LoadFromDisk(CodeContext context, String
> name, String fullName, String str)****
>
>    at IronPython.Runtime.Importer.ImportFromPathHook(CodeContext context,
> String name, String fullName, List path, Func`5 defaultLoader)****
>
>    at IronPython.Runtime.Importer.ImportFromPath(CodeContext context,
> String name, String fullName, List path)****
>
>    at IronPython.Runtime.Importer.ImportTopAbsolute(CodeContext context,
> String name)****
>
>    at IronPython.Runtime.Importer.ImportModule(CodeContext context, Object
> globals, String modName, Boolean bottom, Int32 level)****
>
>    at IronPython.Modules.Builtin.__import__(CodeContext context, String
> name, Object globals, Object locals, Object fromlist, Int32 level)****
>
>    at
> Microsoft.Scripting.Interpreter.FuncCallInstruction`7.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame
> frame)****
>
>    at
> Microsoft.Scripting.Interpreter.LightLambda.Run7[T0,T1,T2,T3,T4,T5,T6,TRet](T0
> arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)****
>
>    at IronPython.Runtime.Importer.ImportLightThrow(CodeContext context,
> String fullName, PythonTuple from, Int32 level)****
>
>    at IronPython.Runtime.Operations.PythonOps.ImportTop(CodeContext
> context, String fullName, Int32 level)****
>
>    at
> Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame
> frame)****
>
>    at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0
> arg0, T1 arg1)****
>
>    at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)****
>
>    at IronPython.Compiler.PythonScriptCode.Run(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)****
>
>    at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)****
>
>    at Microsoft.Scripting.SourceUnit.Execute(Scope scope, ErrorSink
> errorSink)****
>
>    at Microsoft.Scripting.SourceUnit.Execute(Scope scope)****
>
>    at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)*
> ***
>
>    at Microsoft.Scripting.Hosting.ScriptEngine.Execute(String expression,
> ScriptScope scope)****
>
>    at Microsoft.Scripting.Hosting.ScriptEngine.Execute(String expression,
> ScriptScope scope)****
>
>    at
> Elipse.Epm.Scripting.ExpressionEvaluator.ImportStandardModules(ScriptScope
> scope) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 174****
>
>    at Elipse.Epm.Scripting.ExpressionEvaluator.AddExpression(Expression
> expression, Object clientHandle) in
> D:\proj\epm_5527\Source\EpmCommon\Elipse.Epm.Scripting\ExpressionEvaluator.cs:line
> 82****
>
>  ****
>
>  ****
>
> On Mon, Mar 5, 2012 at 3:18 PM, Cesar Mello <cmello at gmail.com> wrote:****
>
> Hi!****
>
>  ****
>
> Is there a way to load modules without giving permission to the AppDomain
> to read .py files from disk?****
>
>  ****
>
> I need to run user code with limited permissions. They should be able to
> do some simple calculations. But when I try to import a module like
> 'decimal', filesystem access permission is required. ****
>
>  ****
>
> Thank you a lot for the attention!****
>
>  ****
>
> Best regards****
>
> Mello****
>
>  ****
>
>  ****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20120307/53a89dd4/attachment.html>


More information about the Ironpython-users mailing list