2017-03-13 5 views
0

デバッグモードのソースアセンブリ(dll)がある場合、リリースモードアセンブリを生成する方法はありますか?デバッグアセンブリをリリースアセンブリに変換することはできますか?

注:この問題は、ソースコードがなくなったdll(デバッグモードのdllのみ)に対して、リリースモードでdllをプロダクションに展開する必要があることに起因しています。

+0

デバッグとリリースのために異なるコードをコンパイルするために '#if'を使用するコードがあるとすれば、しかし、他の誰よりもソースの方が良いことを知っておくべきです。特にリリースビルドでは望まないデバッグビルドから何かがありますか? –

+0

.NETは常に同じメモリ管理を使用するため、DebugとReleaseの違いはC++よりもはるかに少なくなります。言い換えれば、いくつかの '#if'や最適化を除いて、Debugアセンブリをデプロイする際に問題はほとんどありません。 –

+0

@JonSkeet - ソースコードから除外したいものは何もありません。 #if –

答えて

1

あなたの直接の質問に対する簡単な答えは「いいえ」です。これは、元のC#コードには、コンパイル済みMSILに存在しなくなった#if DEBUGが存在する可能性があるためです。

長い答えの部分A)ほとんどの場合、デバッグとリリースのランタイムライブラリが異なるCまたはC++の場合とほとんど同じではありません。おそらく、最大の欠点は、リリースの最適化(および/または余分なデバッグ専用コードのオーバーヘッド)がなくなることです。あなた本当には、最適化のためのリリースモード(例えば、)で何かを必要に応じて、あなたはリリースモードでそれをバックいくつかのC#コードを取得し、再コンパイルするデコンパイラを使用してを試みることができる答えパートB)

長いです。

関連する問題