3

Visual Sturdio 2012 (および TFS 2012 サーバー) から DefaultTemplate を使用すると、PDB ファイルがビルド ディレクトリに含まれます。私はそれらを望んでいません。

ビルド プロセス中にこれらのファイルを生成しない方法はありますか?

または

これらのファイルを削除するにはどうすればよいですか?

削除に関するこのスレッドを見つけましたが、少し奇妙に思えます (削除アクティビティはありませんか?)この回答もありますが、XAML テンプレートは関係ありません。

よろしくお願いします。

4

4 に答える 4

6

PDB ファイルにはコードのデバッグ情報が保持されており、それらを無効にすることはお勧めできません。これらは有効な出力であるため、展開でそれらを台無しにするべきではありません。Visual Studio プロジェクトの [プロパティ] > [ビルド] > [詳細設定] > [デバッグ情報] = [なし] で生成を無効にすることができます。絶対にそれらを削除したい場合は、ビルド固有の構成 (リリースなど) でそれらを無効にします。

于 2013-01-17T12:36:50.040 に答える
5

ビルドサーバーは、デフォルトで、ソリューション(sln)が指示することをすべて実行します。デフォルトでは、「デバッグ」ビルドを実行し、PDBを作成します。デフォルトではPDBを作成しない「リリース」ビルドを実行するようにビルドに指示できます...

ビルド構成の追加 図:ビルド構成の追加

ただし、PDBには本番システムでも必要な情報が含まれているため、これには反対することをお勧めします。しばらくの間、DLLが本番環境にあり、顧客が問題に直面していることを考慮してください。InteliTraceログを作成して、ローカルでデバッグできるようにします(または、環境でデバッグできるようにします)。突然、VisualStudioが実行可能ファイルとソースコードの関係を理解せずにデバッグしようとします。したがって、デバッグはありません...

于 2013-01-17T15:59:24.507 に答える
2

PDB ファイルの生成を無効にするビルド オプションが見つからなかったので、後で削除します。

ファイルを削除する簡単な方法はありません。やった:

  1. ワイルドカード *.pdb を指定してFindMatchingFiles アクティビティを使用すると、pdb ファイルへのフル パスが返されます。
  2. Foreach ループを使用する
  3. InvokeMethod アクティビティで各ファイルのループ内でDotNet メソッドを呼び出します。ターゲット タイプは System.IO.File で、メソッドは「削除」です。
于 2013-01-17T11:23:05.307 に答える
2

以前のバージョン (Visual Studio 2010)では、 /releaseをビルドすると、PDB が生成されませんでした。PDB ファイルは、/debug:fullまたは/debug:pdbonlyでのみビルドすると作成され、必要に応じて/debug: pdbonlyを使用します。デバッグ可能にしたくないリリース ビルドの PDB を生成します。

これは Visual Studio 2012 には当てはまりません。確認したところ、 /debug/releaseの両方で PDB が生成されていることがわかりました。

Visuals Studio 2012 のドキュメントはありません。

于 2013-01-17T23:12:04.697 に答える