gpt4 book ai didi

c# - 从 IronPython 内部调用基于 CodeDom 的代码生成时出现 LoaderException

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:20 24 4
gpt4 key购买 nike

我有一段代码使用 CodeDom 动态生成代码。很简单:

  • CodeCompileUnit 已创建并填充了一个类型。
  • 单元被传递给CSharpCodeProvider.CompileAssemblyFromDom
  • 程序集在内存中生成,所有内容都包装在一个静态方法中,该方法返回生成类型的一个实例。

如果我从 C# 调用这个静态方法,一切正常,但如果我从 IronPython 调用该方法,它就会失败。没有编译错误,返回的 CompilerResultsCompiledAssembly 不为空。但是,如果我为程序集调用 GetTypes,我会得到一个 ReflectionTypeLoadException,它告诉我查看 LoaderExceptions。那是一个 FileNotfoundException,给出以下消息:

Could not load file or assembly 'PosData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.":"PosData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

PosData 是我自己的程序集,它包含代码生成的内容,并且已经由 IronPython 加载。所有内容都在一个文件夹中,所以我看不出可能缺少什么。

任何提示将不胜感激!

最佳答案

您可以试一试 Fusion Log Viewer,以获取有关正在发生的事情的更多信息。

参见 Scott Hanselman 的 blog entrythis page在 MSDN 上获取有关如何使用它的详细信息。

关于c# - 从 IronPython 内部调用基于 CodeDom 的代码生成时出现 LoaderException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8648500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com