2017-06-27 14 views
3

コード1 xamarin.iosで終了しました - Dotfuscatorを私Xamarin.IOSアプリではなく、ビルドが失敗し、私はこのエラーを取得しています:Dotfuscatorコマンドは、私はプリエンプティブソリューションを使用しようとしています

私からすべての手順を行っているがここに:

https://www.preemptive.com/obfuscating-xamarin-with-dotfuscator

私Xamarin.Androidが正常に動作しますが、IOSのプロジェクトが失敗します。

エラー:

The command ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\PreEmptive Solutions\Dotfuscator and Analytics Community Edition\dotfuscatorCLI.exe" /p:InDir="obj\iPhone\Release\DotfuscatorXamarin\dfin",OutDir="obj\iPhone\Release\DotfuscatorXamarin\dfout",ReportDir="DotfuscatorReports\iPhone\Release" "DotfuscatorConfig.xml"" exited with code 1.

私はそれを修正することができますどのように任意のアイデア?

更新29-06-2017:Xamarin.IOSプロジェクトのDotfuscatorConfig.xmlファイルの 内容

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<!DOCTYPE dotfuscator SYSTEM "http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v2.3.dtd"> 
<dotfuscator version="2.3"> 
    <propertylist> 
    <property name="InDir" value="obj\iPhone\Release\DotfuscatorXamarin\dfin" /> 
    <property name="OutDir" value="obj\iPhone\Release\DotfuscatorXamarin\dfout" /> 
    <property name="ReportDir" value="DotfuscatorReports\iPhone\Release" /> 
    </propertylist> 
    <global> 
    <option>monocompat</option> 
    </global> 
    <input> 
    <asmlist> 
     <inputassembly refid="7cf160e1-e28e-4f81-bd8d-f10fdcbcc3f8"> 
     <option>honoroas</option> 
     <option>stripoa</option> 
     <option>library</option> 
     <option>transformxaml</option> 
     <file dir="${configdir}\${InDir}" name="MyProject.dll" /> 
     </inputassembly> 
     <inputassembly refid="2d40ee83-3b30-421c-8b1a-fa4d404fb2d9"> 
     <option>honoroas</option> 
     <option>stripoa</option> 
     <option>library</option> 
     <option>transformxaml</option> 
     <file dir="${configdir}\${InDir}" name="MyProject.dll.mdb" /> 
     </inputassembly> 
     <inputassembly refid="11652964-9a02-4f24-b042-25f260fada88"> 
     <option>honoroas</option> 
     <option>stripoa</option> 
     <option>library</option> 
     <option>transformxaml</option> 
     <file dir="${configdir}\${InDir}" name="MyProject.iOS.exe" /> 
     </inputassembly> 
    </asmlist> 
    </input> 
    <output> 
    <file dir="${configdir}\${OutDir}" /> 
    </output> 
    <renaming> 
    <option>xmlserialization</option> 
    <mapping> 
     <mapoutput overwrite="true"> 
     <file dir="${configdir}\${ReportDir}" name="Renaming.xml" /> 
     </mapoutput> 
    </mapping> 
    <referencerulelist> 
     <referencerule rulekey="{6655B10A-FD58-462d-8D4F-5B1316DFF0FF}" /> 
     <referencerule rulekey="{7D9C8B02-2383-420f-8740-A9760394C2C1}" /> 
     <referencerule rulekey="{229FD6F8-5BCC-427b-8F72-A7A413ECDF1A}" /> 
     <referencerule rulekey="{2B7E7C8C-A39A-4db8-9DFC-6AFD38509061}" /> 
     <referencerule rulekey="{494EA3BA-B947-44B5-BEE8-A11CC85AAF9B}" /> 
     <referencerule rulekey="{89769974-93E9-4e71-8D92-BE70E855ACFC}" /> 
     <referencerule rulekey="{4D81E604-A545-4631-8B6D-C3735F793F80}" /> 
    </referencerulelist> 
    </renaming> 
    <sos mergeruntime="true"> 
    <option>version:v4</option> 
    <option>disable</option> 
    <option>dontsendtamper</option> 
    </sos> 
    <smartobfuscation> 
    <smartobfuscationreport verbosity="all" overwrite="true"> 
     <file dir="${configdir}\${ReportDir}" name="SmartObfuscation.xml" /> 
    </smartobfuscationreport> 
    </smartobfuscation> 
</dotfuscator> 

そしてPreEmptive.Dotfuscator.Xamarin.targetsファイルについて、私は公式のものを使用していますウェブサイト PreEmptive.Dotfuscator.Xamarin.targets

+0

ビルド出力の冗長性を「標準」に変更できますか(https://docs.microsoft.com/en-us/visualstudio/ide/how-to-view-save-and-configure-build) -log-files#変更する情報の量(ビルドログに含まれる))?それはDotfuscatorのテキスト出力自体を表示し、より多くの情報を提供するはずです。 *(免責事項、私はPreEmptiveのために働き、リンク先の記事を書きました)* –

+0

PreEmptive.Dotfuscator.Xamarin.targetsファイルの347行目(Execタスク)でエラーが発生します。 また、このエラーがあります。PE署名が見つかりません。これはPEファイルですか? –

+0

このエラーは、Dotfuscatorが.NETアセンブリではないファイルを処理しようとしていることを示しています。これはビルド統合ファイルの問題である可能性がありますので、 'DotfuscatorConfig.xml'ファイルの内容を含めるように質問を編集できるのであれば、PreEmptiveで役に立ちます。それが機密情報であれば、[Dotfuscator Professionalの試用版](https://www.preemptive.com/products/dotfuscator/downloads)と[サポートチームに連絡する](https://www.preemptive.com/contact/supportrequestform)。 –

答えて

2

質問のコメントに記載されているとおり、私はPreEmptive Solutionsのために働いています。 これはDotfuscator-Xamarinターゲットファイル(PreEmptive.Dotfuscator.Xamarin.targets)のバグですので、残念です。

注::この問題は、ターゲットファイルのバージョン1.1.0で修正されています。ファイルの最新バージョンはthis pageにダウンロードできます。

具体的には、最初のDotfuscator設定ファイル(DotfuscatorConfig.xml)を生成するときに、入力アセンブリとしてMDB(Mono Debug Symbol)ファイルを処理していました。 次のバージョンのターゲットファイルでこの問題が修正されます。ターゲットファイルのバージョン1.0.0でこの問題を解決するには

DotfuscatorConfig.xmlから次の行を削除してください:

<inputassembly refid="2d40ee83-3b30-421c-8b1a-fa4d404fb2d9"> 
    <option>honoroas</option> 
    <option>stripoa</option> 
    <option>library</option> 
    <option>transformxaml</option> 
    <file dir="${configdir}\${InDir}" name="MyProject.dll.mdb" /> 
    </inputassembly> 

ターゲットファイルはその後、上から自分の修正バージョンを使用します。

+0

これは、私が行を削除した後、今、多くのおかげで動作します。 –

関連する問題