19

テスト サーバーにデプロイされた ASP.NET アプリケーションの Visual Studio 2008 で作業しています。本番環境に配置するデバッグ情報なしでビルドを作成したいのですが、構成マネージャーのプロジェクトの構成ドロップダウンに「デバッグ」しか表示されません。

私の他の Visual Studio プロジェクトには、"Debug"、"Release"、"New..."、"Edit..." が表示されます。

リリース オプション、または新規および編集コマンドが表示されないのはなぜですか?

4

4 に答える 4

25

ASP.NET Web サイトは、構成マネージャーを使用して、デバッグ情報がコンパイルに含まれているかどうかを判断しません。ファイルに設定する必要がありweb.configます。私の知る限り、Visual Studio は自動的にデバッグを「false」に変更しません。

ファイルで次のセクションを見つけweb.configて、「false」に変更します。

<!--
    Set compilation debug="true" to insert debugging
    symbols into the compiled page. Because this
    affects performance, set this value to true only
    during development.
-->

<compilation debug="true">

IDE で Web サイトを実行している場合、Visual Studio は false から true に変更するかどうかを尋ねてきますが、残念ながら公開の場合はその逆は行いません (これは私にとってより重要なことのようです)。

ソリューションに複数のプロジェクトがあり、そのうちの少なくとも 1 つがリリース構成 (DLL など) をサポートしている場合、構成ドロップダウン リストに表示されます。ただし、リリースを選択してビルドしても、Web サイトには影響しません。

于 2008-12-02T17:19:24.930 に答える
1

最良の回答を確認し、この問題に数時間取り組んだ後、この回答に出くわしました。私の解決策は、完全なアプリケーションを追加することでした。通常は空の Web サイトを使用しますが、リリースが表示されないという同じ問題がありました。完全なアプリケーションをソリューションに追加すると、ソリューション内にプロジェクトを展開できるようになりました。これは、完全なアプリケーションを追加すると、ドロップダウンに「リリース」オプションも追加されるためです。アドバイスには大変感謝していますが、なぜこのツールがそれほど風変わりなのかわかりません。ご提案いただきありがとうございます。

于 2016-02-04T00:32:01.593 に答える
0

ソリューションの構成マネージャーを使用すると、これらのデフォルトのビルド構成のいずれか (または両方) を削除できます (上記の [編集...] オプションを使用)。誰かがリリース構成を削除したに違いありません。

再作成して元に戻すか、ゼロから作成したソリューションから適切な行をすばやくコピーできます。ファイルの差分は次のように表示されます。

デフォルトのソリューション ファイル:

GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
    Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection

リリース構成を手動で削除した後の解決策:

GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EDD50911-B94E-49A4-A08B-A2E91228A04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
于 2008-11-04T04:51:30.773 に答える