locked
ILMerge .NET CF 3.5 Problem RRS feed

  • Frage

  • Hallo Windows Mobile Community,

    ich habe gerade ein Problem mit dem ILMerge und .NET CF 3.5. Wir haben unsere Projekte auf 3.5 upgedatet um z.B. GZIP ohne viele Änderungen zu verwenden. Jedoch funktioniert das ILMerge anscheinend nicht mit dem .NET CF 3.5.

    unsere Lösung bei .NET CF 2.0 war:
    "C:\Programme\Microsoft\ILMerge\ILmerge.exe" /t:winexe /targetplatform:v2,"C:\Programme\Microsoft.NET\SDK\CompactFramework\v2.0\Debugger\BCL" /out:"temp\$(TargetFileName)" "$(TargetFileName)" "Utilities.dll"

    leider funktioniert dies nicht mit:
    "C:\Programme\Microsoft\ILMerge\ILmerge.exe" /t:winexe /targetplatform:v3.5,"C:\Programme\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL" /out:"temp\$(TargetFileName)" "$(TargetFileName)" "Utilities.dll"

    -> An exception occurred during merging:
        Platform 'v3.5' not recognized.
            bei ILMerging.ILMerge.SetTargetPlatform(String platform, String dir)
            bei ILMerging.ILMerge.Merge()
            bei ILMerging.ILMerge.Main(String[] args)
            
    der einzigste Weg der funktioniert hat war folgender:
    "C:\Programme\Microsoft\ILMerge\ILmerge.exe" /t:winexe /lib:"C:\Programme\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL" /out:"temp\$(TargetFileName)" "$(TargetFileName)" "Utilities.dll"

    jedoch stürzt die Anwendung sofort mit einer ObjectDisposedException ab. Ich denke das die refernzierten DLLs nach dem mergen nicht mehr stimmen.
    Hatte dieses Problem schonmal jemand anderes? Ich hoffe ihr könnt mir weiterhelfen. Das Mergen wird vergenommen um danach die exe gescheit zu obfuskieren.

    Vielen Dank

    Gruß Stephan
    Montag, 28. Juni 2010 07:49

Antworten

  • Nach einigen Mails zwischen Mike Barnett und mir kamen wir zu folgender vorrübergehender Lösung:

    Can you try this? Specify the /targetplatform as you did the first time, but use "v2" instead of "v3.5", i.e.,
    
    "C:\Program Files\Microsoft\ILMerge\ILmerge.exe" /t:winexe /targetplatform:v2,"C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL" /out:"temp\$(TargetFileName)" "$(TargetFileName)" "Utilities.dll"
    
    Please let me know if that works for you. I will also look into changing ILMerge to allow you to specify v3.5 as a valid target platform.
    

    v2 als targetplatform aber das library verzeichnis vom .NET CF 3.5 verwenden.

    Gruß Stephan

    • Als Antwort markiert snoerenberg Montag, 5. Juli 2010 06:56
    Montag, 5. Juli 2010 06:49