Dotfuscator 5.3(来自 Visual Studio 15.3)不混淆 .NETStandard 2.0 .DLL

Dotfuscator 5.3 (from Visual Studio 15.3) doesn't obfuscate .NETStandard 2.0 .DLL

当 运行 最新的 Dotfuscator CE(附带 VS 2017、最新更新和安装的 .NET Core 2.0 SDK)时,我在处理 .NET Standard 2.0 .DLL 时遇到这样的错误:

无法加载外部类型,因为找不到它的程序集:System.Security.SecurityRuleSet,netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51

我能做什么?我想也许 Dotfuscator 找不到 .NET Core 2.0 dll,所以我在 DEVPATH 中添加了 "c:\Program Files\dotnet\sdk.0.0\Microsoft\Microsoft.NET.Build.Extensions\net461\lib" 路径并在 machine.config 中激活了 developmentMode,但它并没有太大帮助。在日志中,很明显 Dotfuscator 现在 "sees" DEVPATH 文件夹和错误消息变得略有不同,但它仍然存在。

无法加载外部类型,因为找不到它的程序集:System.Net.Sockets.NetworkStream,netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51

如果我处理 .NET Core 1.1 .DLL (.NET Standard 1.3),它工作正常。只有 .NET Core 2.0 失败。

Dotfuscator CE 似乎没有任何 public 论坛(他们只为其商业版本提供支持),这就是我在这里问的原因。

目前,最快的解决方案可能是将 netstandard.dll 文件从 C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library.0.0\build\netstandard2.0\ref 复制到与输入程序集相同的位置。

免责声明,我为 PreEmptive Solutions 工作