我有一段使用CodeDom动态生成代码的代码。这是直截了当的:
CodeCompileUnit
已创建并填充了类型。CSharpCodeProvider.CompileAssemblyFromDom
。如果我从C#调用这个静态方法,一切正常,但如果我从IronPython调用该方法,它就会失败。没有编译错误,返回的CompiledAssembly
的{{1}}为空。但是如果我为程序集调用CompilerResults
,我会得到一个GetTypes
,告诉我查看LoaderExceptions。那个是ReflectionTypeLoadException
给出以下消息:
无法加载文件或程序集'PosData,Version = 1.0.0.0, Culture = neutral,PublicKeyToken = null'或其依赖项之一。该 系统找不到指定的文件。“:”PosData,Version = 1.0.0.0, Culture = neutral,PublicKeyToken = null
PosData是我自己的程序集,它包含代码生成内容,并且已由IronPython加载。一切都在一个文件夹中,所以我看不出可能缺少的东西。
任何暗示都将非常感激!
答案 0 :(得分:1)
您可以为Fusion Log Viewer提供一个镜头,以获取有关正在发生的事情的更多信息。
有关如何使用它的详细信息,请参阅MSDN上的Scott Hanselman的blog entry和this page。