2011-08-25 3 views
1

바벨 빌드 대상을 포함하도록 프로젝트의 * .proj 파일을 수정할 수있었습니다.릴리스 빌드에서만 실행되도록 babel.net obfuscator를 구성하는 방법은 무엇입니까?

<Import Project="C:\Program Files\Babel\MSBuild\Babel.Build.targets" /> 

이 코드는 작동하지만 디버그 및 릴리스 빌드 모두에서 babel을 실행합니다. 바벨이 릴리스 빌드를 난독 화하기를 원합니다. 매뉴얼 82 페이지에 다음 코드를 포함시켜야합니다.

<Import Project="C:\Program Files\Babel\MSBuild\Babel.Build.targets" /> 
<Choose> 
<When Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
<PropertyGroup> 
<EnableObfuscation>false</EnableObfuscation> 
</PropertyGroup> 
</When> 
<When Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
<PropertyGroup> 
<EnableObfuscation>true</EnableObfuscation> 
<ILIterations>3</ILIterations> 
<StringEncryption>true</StringEncryption> 
</PropertyGroup> 
</When> 
</Choose> 

그러나 나는 "EnableObfuscation"는 유효한 옵션이 아니라고 오류를 구축 얻을 * .proj 파일이 코드를 포함 할 때.

답변

1

Babel.Build.targets에 대한 경로가 올바른지 확인하십시오. 그런 다음 해당 파일을 편집하여 EnableObfuscation 속성이 있는지 확인하십시오.

설명서의 권장 구성을 다음과 같이 변경하고 모든 프로젝트에 추가 했으므로 정상적으로 작동합니다.

<Import Project="C:\Program Files\Babel\MSBuild\Babel.Build.targets" /> 
    <Choose> 
    <When Condition=" '$(Configuration)' == 'Debug' "> 
     <PropertyGroup> 
     <EnableObfuscation>false</EnableObfuscation> 
     </PropertyGroup> 
    </When> 
    <When Condition=" '$(Configuration)' == 'Release' "> 
     <PropertyGroup> 
     <EnableObfuscation>true</EnableObfuscation> 
     <ILIterations>3</ILIterations> 
     <StringEncryption>true</StringEncryption> 
     </PropertyGroup> 
    </When> 
    </Choose> 

내 윈도우 폰 7 프로젝트의 위의 작품은 시작 프로젝트

<Target Name="AfterBuild"> 
    <CreateProperty Value="@(_OutputPathItem->'%(FullPath)$(XapFilename)')"> 
     <Output TaskParameter="Value" PropertyName="BabelInputFile"/> 
    </CreateProperty> 
    </Target> 
이외에이를 추가하여 XAP 파일과 함께 작동
관련 문제