无法使用Mono.Cecil找到AssemblyFactory类

无法使用Mono.Cecil找到AssemblyFactory类,mono.cecil,Mono.cecil,我正在使用DLL文件并编写以下代码: AssemblyDefinition sourceAssembly = AssemblyFactory.GetAssembly(assemblyPath); 我的项目没有被编译,因为它找不到类“AssemblyFactory”。好像这个类根本不存在于DLL文件中。我已经添加了mono.cecil.dll文件作为对我的项目的引用。该类是否存在于DLL文件之外的某个位置,可能存在于该级别的其他DLL文件中?这意味着您使用的是Mono.Cecil的最新版本,其中

我正在使用DLL文件并编写以下代码:

AssemblyDefinition sourceAssembly = AssemblyFactory.GetAssembly(assemblyPath);

我的项目没有被编译,因为它找不到类“AssemblyFactory”。好像这个类根本不存在于DLL文件中。我已经添加了mono.cecil.dll文件作为对我的项目的引用。该类是否存在于DLL文件之外的某个位置,可能存在于该级别的其他DLL文件中?

这意味着您使用的是Mono.Cecil的最新版本,其中已删除了此不推荐的类型

请查看Cecil的wiki上的,了解如何转换Cecil 0.9的代码。您将看到,您只需将这一行更改为:

var assembly = AssemblyDefinition.ReadAssembly(assemblyPath);

如果您还想了解Mono.Cecil的其他信息,我很乐意在单独的问题中提供帮助。同时,这个问题得到了回答。类似于(在Mono.Cecil的更高版本中不再存在AssemblyFactory)。非常感谢。这对我有用。在没有得到答案之前,我还从网站上下载了一个工作项目的源代码。正如我提到的,它包含了“AssemblyFactory”的用法。那个项目包含一个我在我的项目中使用的程序集lib.dll。哇,那个更改中断了(在)。另外,类型CilWorker被重命名为ILProcessor(Mono.Cecil.Cil.ILProcessor),获取它的属性CilWorker被重命名为GetILProcessor(Mono.Cecil.Cil.MethodBody.GetILProcessor,例如,MethodDefinition上的.Body.GetILProcessor)。中的代码示例使用旧的-更新?