试图使用Crypto模糊我的项目打破了它

Los*_*ost 5 .net c# obfuscation

我正在试图通过不同的混淆选项,为了做到这一点,我首先尝试使用Crypto.

这是我遵循的步骤:

  1. 打开Cypto向导并选择一些选项.
  2. 选择我的解决方案文件

完成了向导,我看到的是有一些Dll很好地混淆但是我的项目现在没有建立.我注意到的两件事是我的文件夹中有这个奇怪的.OBPROJ文件,它负责删除我所有的旧程序集,然后再对它们进行模糊处理.

我看到我的18个未能构建的项目中有4个出现以下错误:

System.IO.FileNotFoundException: File 'C:\Dropbox\CPTFramework_old\CommonLib\obj\Debug\CommonLib.dll' not found.
Run Code Online (Sandbox Code Playgroud)

所有失败的4个项目都非常相似.现在,我不知道它对OBj/Debug文件夹中的dll文件做了什么,但文件绝对不存在.

我注意到的另一件事是,所有项目,当单独构建时,确实构建良好.所以我的解决方案文件肯定出现了问题.但我无法找出究竟发生了什么变化.

小智 3

我最近遇到了同样的问题,因此,虽然已经过时,但这是其他人的答案。

这与您的构建顺序有关。我发现VS中的构建顺序并不总是与实际的构建顺序相对应。我建议在构建失败后查看输出窗口,看看首先和最后构建了哪些项目(您需要这些来配置 Crypto)。显然,不要忘记忽略任何安装项目或未在发布模式下构建的项目。

所需要做的就是使用正确的第一个和最后一个项目重新配置加密,重新加载您的解决方案,它将构建。