문제

I have a C# 2010 WinForms application using .Net Framework 4.

I am using Eazfuscator.NET to obfuscate this application. If I obfuscate the executable manually, everything works fine.

When I try to make the program obfuscate itself on every build by dragging the project onto the green part, everything works fine and this is output:

Protecting project 'Roster Manager.csproj'... done

Protected project will be obfuscated automatically during the build in Release configuration
Please restart Visual Studio to complete the installation of Eazfuscator.NET

After that, I close VS, start it again, clean the solution, rebuild it and run it. The program works but it is not obfuscated, as proved by decompiling it using Reflector 7.

I am building it in Release as requested by the program.

Searching the web didn't help so maybe if someone ran into this problem before might have a fix to this issue.

도움이 되었습니까?

해결책 2

Finally managed to fix it. Seems that disabling the User Account Control resolves the issue.

A quick Google search will give more details into how to do this.

다른 팁

Eazfuscator add this line to the PostBuildEvent (Word Wrapped for legibility, but it is one line) of your project. (Right click on Project -> Properties -> Build Events.)

if /I "$(ConfigurationName)" == "Release" Eazfuscator.NET.exe "$(TargetPath)" 
--msbuild-project-path "$(ProjectPath)" --msbuild-project-configuration "$(ConfigurationName)" 
--msbuild-project-platform "$(PlatformName)" --msbuild-solution-path 
"$(SolutionPath)" -n --newline-flush -v 3.2

Check if it is present and if your release configuration is really called "Release".

If you're using a version control system like TFS, .csproj file may be locked. So you'll have to unlock file by checking it out or unchecking "Read-only" box from file properties.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top