C# 尝试用ConfuserEx模糊Xamarin.android dll时出错

C# 尝试用ConfuserEx模糊Xamarin.android dll时出错,c#,dll,xamarin,xamarin.android,obfuscation,C#,Dll,Xamarin,Xamarin.android,Obfuscation,我试图使用ConfuserEx混淆Xamarin.Android DLL,但我得到的唯一错误是: [ERROR] Failed to resolve dependency of 'app.dll'. Exception: dnlib.DotNet.AssemblyResolveException: Could not resolve assembly: Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyT

我试图使用ConfuserEx混淆Xamarin.Android DLL,但我得到的唯一错误是:

[ERROR] Failed to resolve dependency of 'app.dll'.
Exception: dnlib.DotNet.AssemblyResolveException: Could not resolve assembly: Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   w dnlib.DotNet.Extensions.ResolveThrow(IAssemblyResolver self, IAssembly assembly, ModuleDef sourceModule) w E:\Source\Public\Confuser2\dnlib\src\DotNet\IAssemblyResolver.cs:wiersz 113
   w Confuser.Core.ConfuserEngine.Inspection(ConfuserContext context) w e:\Source\Public\Confuser2\Confuser.Core\ConfuserEngine.cs:wiersz 264
Failed at 20:23, 0:01 elapsed.
我的confuserEx项目文件:

<project outputDir="C:\Users\Admin\Desktop\android\app\Confused" baseDir="C:\Users\Admin\Desktop\android\app" xmlns="http://confuser.codeplex.com">
  <packer id="compressor" />
  <module path="obj\Debug\app.dll">
    <rule pattern="true" preset="normal">
      <protection id="rename" />
      <protection id="anti ildasm" />
      <protection id="anti tamper" />
      <protection id="constants" />
      <protection id="ctrl flow" />
    </rule>
  </module>
  <probePath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0</probePath>
  <probePath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0</probePath>
</project>

C:\ProgramFiles(x86)\Reference Assembly\Microsoft\Framework\MonoAndroid\v6.0
C:\ProgramFiles(x86)\Reference Assembly\Microsoft\Framework\MonoAndroid\v1.0
如何为项目添加依赖项?我需要在项目中添加什么


提前感谢

您需要指定包含Xamarin.Android.Support.v4.dll的正确路径,因为它不在您已经通过probePath元素指定的Microsoft\Framework\MonoAndroid\vX.Y路径中

由于Xamarin.Android.Support.v4是作为一个NuGet包添加的,因此您需要在“packages”目录中指定正确的路径,该目录可能如下所示

<probePath>packages/Xamarin.Android.Support.v4.23.4.0.1/lib/MonoAndroid403/</probePath>
packages/Xamarin.Android.Support.v4.23.4.0.1/lib/MonoAndroid403/
或者,如果您的IDE的行为与我的类似,那么在构建期间会将Xamarin.Android.Support.v4复制到obj/Debug路径中,在这种情况下,您可以简单地指定此相对路径,如下所示:

<probePath>obj/Debug</probePath>
obj/Debug

我不确定使用哪种“首选模式”,但这两种方法中的任何一种都可以解决您的问题。

对于固定工作,我删除了一些保护规则。谢谢marcu。你的confuserex规则是什么?