我正在使用.Net Reactor来混淆我的项目。 在我的项目中,我有大约10个dll。 我希望我的设置在客户端的机器中部署混淆的dll。
我尝试将以下代码放在设置项目属性的构建后事件中。
"C:\Program Files\Eziriz\.NET Reactor\dotNET_Reactor.exe" -project "E:/s.nrproj"
但是当我部署它并尝试在Reflector中打开已部署的dll时,它会打开并显示代码。 在哪里/我错过了什么???
答案 0 :(得分:1)
Dot Net Reactor模糊了exe和dll,并将它们存储在不同的位置。默认值是程序集所在的子文件夹安全。请确保在部署方案中使用安全的而不是原始的!
答案 1 :(得分:0)
在构建安装项目之前,您应该对程序集进行模糊处理,因此您应该在Pre-Build中使用命令而不是Post-Build。当您对程序集进行模糊处理时,.NET可能无法自动识别您所需的程序集。我强烈建议您单独对程序集进行模糊处理,然后创建安装项目(确保将所有必需的程序集添加到项目中)。
注意:在VS2010中创建安装项目存在一些错误,有时关闭并打开Visual Studio工作。
答案 2 :(得分:0)
这对我有用:
if /I "$(ConfigurationName)" == "Release" "C:\Program Files (x86)\Eziriz\.NET Reactor\dotNET_Reactor.Console.exe" -file "$(TargetPath)" -targetfile "$(TargetPath)" -q
如果您想设置config proj,请按以下方式添加:
-project "$(SolutionDir)obfuscation_settings.nrproj"
鉴于.net reactor项目位于解决方案文件夹中,其名称为obfuscation_settings.nrproj
祝你好运答案 3 :(得分:0)
在这种情况下,Post-build事件不起作用。您可以使用.NET Reactor VS加载项,以便在正确的时间混淆程序集。解决方案在这里描述: Solution