2011-01-08 5 views
3

まず、ILMergeに問題があるかどうかはわかりませんが、私のアプリケーションにmerge.dllファイルを入れることはできません。 ILMergeで.dllファイルをマージすることができません

ilmerge /target:winexe /out:test.exe MyApp.exe lib1.dll lib2.dll lib3.dll 

は、私は次のエラーを得た、と私はそれが何を意味するのか見当がつかない:私は、コマンドラインでこれを試してみました

のMyAppのメタデータで報告されたエラーがありました。 D:\ C#\ source \ bin \ ReleaseMyApp.exeに関連付けられているpdbが古くなっています。

私は最新のバージョン(2.10.526.0)を使用していますが、私はこれを動作させることができず、本当に助けが必要です。上記のエラーは何を意味し、どのように修正できますか?

+0

実際にPDBファイルはありますか? 'ilmerge'を呼び出す前に、バージョンをリリースしてPDBを削除する方法はありますか? –

+3

ILMergeについては、 'ilmerge/ndebug/target:winexe /out:test.exe app.exe lib1.dll lib2.dll'のように使用します。 –

答えて

3

D:\ C#\ source \ bin \ ReleaseMyApp.exeに関連付けられているpdbは古くなっています。

pdbをチェックしてexeが同期していると明示していないので、わかりやすく質問します。 - フォルダにpdbがありますか?ファイル?

私が理解しているように、ソースファイルで利用可能なデバッグ情報がある場合、ilmergeはターゲットのデバッグ情報を作成し、オリジナルが期限切れの場合は、誤った情報。

デバッグ情報が必要ない場合は、pdbファイルを削除するとどうなりますか?

+0

pdbファイルは最新であり、ビルドが成功した後にコピーされたばかりです。私はそれを削除したときにも、うまくいきませんでしたが、私は別のエラー、幻想を受けました。 "未解決のアセンブリ参照は許可されていません:Microsoft.mshtml ..." ちょっとしたグーグルで、.NET Frameworkバージョン4へのパスを指定する必要があることに気付きました。 ilmerge/targetplatform:v4、C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 /out:test.exe MyApp.exe lib1.dll lib2.dll lib3.dll これはうまくいくと思いますが、それでも同じエラーが発生します。 – Iceyoshi

+0

強制的に設定ファイルを使用しようとしましたかFramework 4を使用して実行するには?http://research.microsoft.com/en-us/people/mbarnett/ilmerge-40-exe-config.aspxを参照してください。 – sgmoore

0

このタイプのメタデータは、おそらく明示的なコードではなく、おそらく属性の "typeof"を介して文字列として格納されると思います。

AppDomainのTypeResolveイベントを処理して、失敗している型の文字列を検出し、目的の型を返そうとする可能性があります。これは、別のアセンブリになっているという事実を回避する必要があります。

http://msdn.microsoft.com/en-us/library/system.appdomain.typeresolve.aspx

0

ではなくILMergeの.NETZを試すのに役立ちますか?

+1

いいえ、私はそのプログラムを試したので、もちろん、うまくいきません。 私は以下を使用しました:netz -s app.exe lib1.dll lib2.dllは使い方ごとに表示されていますが、packed .exeを開くと大きなエラーが発生します。 -sを削除しても何もしませんでした。 正しく使用しているかどうかわかりませんが、コマンドラインで使用する正しい構文は何ですか? – Iceyoshi

+0

'netz -s -z -w app.exe lib1.dll lib2.dll -so'のように使用します。 –

+0

私は上記の構文を試しました。私は2つの警告を受け取りました: !警告:1001アセンブリメタデータを処理できません! !警告:1005アセンブリライセンス情報を処理できません! それ以外は、すべてうまくいったと思いますが、packed .exeを起動すると動作せず、MessageBoxにいくつかの例外が表示されます。 – Iceyoshi

関連する問題