惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
爱范儿
爱范儿
量子位
Martin Fowler
Martin Fowler
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - 鬼蝶[DFCG]

博文阅读密码验证 - 博客园 [转载]斐讯K2 A2版免TTL刷BREED不死Bootloader 博文阅读密码验证 - 博客园 各种UserAgent的列表 自制Console线(已测试CISCO3560可用) [转载]在Vmware ESXI中安装群晖Synology DSM 5.0 (4528) .NET 相关工具 GridView 绑定数据的常用指定格式。 .NET 4.5 HttpClient 中使用Cookie C# 实现快速闪电关机、快速重启 HttpWebRequest常用问题! WebBrowser处理AJAX生成的网页内容! HttpWebRequest请求超时的解决方案! 用正则表达式过滤HTML隐藏SPAN AMF入门教程 正则表达式30分钟入门 [转载]Reflector反编译.NET文件后修复 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。 windows 2008r2解决此错误提示。 TT双拨脚本
Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。
鬼蝶[DFCG] · 2017-06-25 · via 博客园 - 鬼蝶[DFCG]

使用Mono.Cecil对目标.NET的DLL程序进行IL修改后保存时报“Failed to resolve assembly: ' xxxxxx, version=xxxxx,Culture=xxxxx,PublicKeyToken=xxxxxxx'"异常。

使用DNSPY进行调试,原来是因为修改的目标DLL和本身程序不在同一个目录,当需要用到目标DLL引用的DLL时Mono.Cecil只在自身所在的目录进行搜索匹配,

找不到对应的DLL文件就会报上面的异常信息。

解决方法有两种:

第一个:只要将对应的DLL拷贝到程序自身所在目录即可解决。

第二个:在程序里增加Mono.Cecil可以搜索的目标目录。

            DefaultAssemblyResolver resolver = new DefaultAssemblyResolver();
            resolver.AddSearchDirectory(info.DirectoryName); // 增加目标目录  

            ReaderParameters parameters = new ReaderParameters()
            {
                AssemblyResolver = resolver, // 将增加好目标目录的对象作为参数给AssemblyResolver
                ReadSymbols = false,
            };
            
            AssemblyDefinition asm = AssemblyDefinition.ReadAssembly(file, parameters); // 使用上面的参数即可完成对目标目录的指定及搜索