#if DEBUGコンパイルするコードを選択するためにコンパイラ ディレクティブを使用する場所があります。少し前まで、ASP.NET MVC アプリケーションをデバッグ モードまたはリリース モードで公開できました。実際、私はまだそれを行うことができます。しかし、現在、何らかの理由で、どのモードを選択しても、出力にリリース コードしか表示されません。生成された dll を .NET Reflector で調べてみると、後のコード#if DEBUGが存在しないことがわかります。Define DEBUG constantプロジェクトのプロパティでデバッグモードを確認しました。私がそれを機能させる唯一の方法は、DEBUG 定数を明示的に定義することです。パブリッシュ時以外に、パブリッシュ設定を構成できる場所はありますか?
1 に答える
たくさん掘り下げた後 (そしてこの質問を投稿した直後)、ProjectName|Properties|PublishProfiles の下に MyProjectName.pubxml というファイルを見つけました。
そこで私はこの行を見つけました:
<DebugSymbols>False</DebugSymbols>
これをTrueに設定すると、最終的に解決され、期待どおりに機能します。LastUsedBuildConfigurationまた、実際には Debug でしたが、値が Release であることにも気付きました。明らかに、このファイルはある時点で最新にできませんでした。これが、何時間も時間を無駄にしている候補者の役に立てば幸いです。
編集
再び同じ問題に直面しましたが、今回は逆のパブリッシュ モードが必要でした。今回は上記のファイルを変更しても問題は解決しませんでした。そのため、私が最善だと思うことを実行することにしました。次回アプリケーションを公開しようとしたときに、新しい公開プロファイルを作成するように求められるように、PublishProfiles フォルダーを削除するだけです。これで問題は解決しました。
EDIT2
構成を選択するオプションがあることに気づきませんでした。ビジュアル スタジオ自体でどの構成が選択されていても、公開する必要がある構成を選択する必要があることがわかりました。

