いくつかの dll をマージする必要があり、ファイル名とアセンブリ名の両方をメインの dll (mydll.dll) と同じにする必要があります。pdb ファイルも必要です。どうすればこれを完了できますか?
ここに私が試したいくつかのことがあります:
ILMerge mydll.dll を使用してください .... /out:mydll.dll これは、「パスへのアクセス ...mydll.pdb が拒否されました」で失敗します。
mydll.dll の名前を mydllTemp.dll に、mydll.pdb を mydllTemp.pdb に変更してから、ILMerge mydelltemp.dll .... /out:mydll.dll これは、「...mydlltemp.dll に関連付けられている pdb が古くなっています」で失敗します。これは、ilmerge がアセンブリ名を調べて pdb を見つけたためだと思います。そのため、名前が変更された mydll.pdb を探します。
mydll.dll の名前を mydllTemp に変更してから、ILMerge mydelltemp.dll .... /out:mydll.dll これはエラーなしで動作しますが、デバッガーをプロセスにアタッチするとトリガーされません
ILMerge mydll.dll ... /out:mydlltemp.dll mydlltemp.dll を mydll.dll に、mydlltemp.pdb を mydll.pdb に名前変更します。これで、ブレークポイントがトリガーされているプロセスにデバッガーをアタッチできます。ただし、アセンブリ名は mydll ではなく mydlltemp になりました。
では、どうすればこれを機能させ、元のアセンブリ名を持つことができますか?