Visual Studio 2019 Xamarin Dotfuscator CE 配置文件生成报错问题
可行解决方案
- 手动执行dotfuscator命令定位根因:把构建报错里的完整dotfuscator命令复制出来,打开CMD切换到你的Android项目根目录后执行该命令,命令行界面会输出具体的执行错误信息,90%以上的错误码1问题都可以通过这个方式定位,常见原因包括路径解析异常、Template.dfconfig文件损坏、Dotfuscator进程权限不足。
- 手动创建配置文件绕过自动生成逻辑:如果自动生成始终失败,可以直接在Android项目根目录手动创建
DotfuscatorConfig.xml,填入基础配置即可:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE dotfuscator SYSTEM "http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v2.3.dtd"> <dotfuscator version="2.3"> <input> <loadpaths /> <asmlist> <inputassembly> <file>${configdir}${InDir}\WetYourWhistle.Android.dll</file> </inputassembly> <inputassembly> <file>${configdir}${InDir}\WetYourWhistle.dll</file> </inputassembly> </asmlist> </input> <output> <file dir="${configdir}${OutDir}" /> </output> <renaming> <option>enhancedoverloadinduction</option> <mapping> <mapoutput overwrite="true"> <file dir="${configdir}${ReportDir}" name="Map.xml" /> </mapoutput> </mapping> </renaming> <monitoring> <option>disable</option> </monitoring> </dotfuscator>
- 检查项目路径合法性:确认项目全路径没有中文、特殊符号、连续空格,Dotfuscator的旧版本对特殊字符的参数解析存在缺陷,很容易触发执行失败。
- 升级Dotfuscator CE版本:VS2019自带的Dotfuscator CE默认版本普遍偏低,不兼容部分Xamarin Android的新构建规则,直接在VS扩展管理器里找到PreEmptive Dotfuscator CE,更新到最新版本即可。
- 调整配置文件属性:手动添加配置文件后,右键点击
DotfuscatorConfig.xml选择属性,将「生成操作」设置为None,「复制到输出目录」设置为「如果较新则复制」,即可解决找不到配置文件的连锁报错。 - 临时关闭安全软件:部分杀毒软件、勒索软件防护规则会拦截Dotfuscator的文件写入权限,导致配置文件生成失败,构建时可以临时关闭相关规则测试。
内容的提问来源于stack exchange,提问作者Stephen Link
相关产品推荐
相关产品推荐

