9

私はさまざまなソースからのビジュアルスタジオプロジェクト/ソリューションの束をクリーンアップしています、そして各ソリューションに保存されている一時ファイル一時フォルダーの信じられないほどの量があります。

フォルダー構造全体を整理して適切な共有にリンクしようとしているときにプッシュするジャンクが少なくなるように、手間のかかる作業を処理するスクリプトを記述できるように、どのファイルタイプを安全に削除できるのか疑問に思っています。ファイルの場所。

私が見る限り、次のファイルとフォルダは一時的なものであり、安全に削除できます。

ファイル

  • * .sdf
  • * .sln.docstates
  • * .suo
  • * .upgradelogxml
  • *。ユーザー
  • * .vcxproj.filters
  • * .sln.old
  • * .suo.old
  • UpgradeLog.XML
  • * .wixproj.vspscc
  • * .csproj.vspscc
  • * .SCC
  • * .ncb
  • * .opt
  • * .plg
  • * .aps
  • * .clw

フォルダー

  • _UpgradeReport_Files(フォルダー)
  • ipch(フォルダ)
  • bin、obj、debug、release、およびその他のビルド出力フォルダー。ただし、ビルド中にここにファイルがコピーされる可能性があります。
  • バックアップ、バックアップ1など...

これらのファイルタイプのいくつかが実際に何であるかさえわかりません。ソリューションを開いたときにそれらが再生成されることを知っています。また、VisualStudioの古いバージョンと新しいバージョンから見逃したファイルタイプが他にもたくさんあることを知っています。

上記のリストに保存する必要のあるファイルの種類はありますか?もしそうなら、どのような理由で、そして深刻な副作用なしに一掃することができる他のファイルタイプはありますか?

全体的な考え方は、ソリューションを移行、移動、再編成、またはその他の方法でシャッフルして、この「ソリューションの脂肪」が深刻なパフォーマンスと管理の問題になる場合に、ソリューションのサイズと複雑さを最小限に抑えることです。

通常、この問題は、新しいソース管理システムにチェックインしたり、サンプルコードを圧縮して電子メールで送信したり、サードパーティまたはピアコードを共有フォルダーとファイルの既存の階層に配置したりする必要がある場合に発生します。

4

2 に答える 2

15

「一時」ファイルのリストに同意しません。確かに、一時的なファイルはごくわずかです(そうでない場合は、%TEMP%ディレクトリにあります)。確かに、それらのほとんどはプロジェクトを正常にビルドするために必要ではありませんが、それでも重要です。

  • sdf-SQLServerCompactデータベース。VS2012がVCインテリセンスデータを格納するために使用します。このファイルがないと、再構築するまでインテリセンスとコード補完は得られません。
  • sln.docstates-ソリューション内のファイルに関する一時的な状態情報を格納します。
  • suo-ウィンドウレイアウトやツールボックスのロードアウトなど、ソリューションごとのIDEカスタマイズ設定に関する情報が含まれています。通常、これを削除しても安全ですが、ソリューションの読み込みに時間がかかる可能性があり、UIのカスタマイズが失われる可能性があります。
  • upgradelog.xml-ええ、upgrade-logファイルは少し混乱しています。これは削除できます。
  • ユーザー-これはVC6日からの古いファイルだと確信しています...
  • vcxproj.filters-これを保持します。これは、コンピューターごと/プロジェクトごとのファイルシステム組織リストです。
  • sln.old-「古い」ファイルはVSファイルではありません。これは、ユーザーまたはツールによって作成されたバックアップファイルのように見えます。
  • suo.old-
  • UpgradeLog.XML-UpgradeLogツールを使用していない場合、これは削除できます
  • wixproj.vspscc-ソース管理を使用している場合は、このファイルを削除しないでください。これは、VSのソース管理統合の一部です。バインディングファイルを削除した後、チェックされていない変更をソース管理に再統合しようとするのは地獄です。ソース管理を使用していない場合にのみ、これを削除してください。
  • csproj.vspscc-上記と同じ。
  • SCC-ソース管理に使用されます。ソース管理を使用している場合は、これを削除しないでください。
  • ncb-VC6から2010までで使用されていたIntellisenseキャッシュ。これを削除すると、IDEが再構築するまで、VCインテリセンスが失われます。これにより、大規模なプロジェクトで問題が発生する可能性があります。

このファイルまたは他のファイルが何であるかわかりません:.opt、.plg、.aps、.clw

もちろん、秘訣は、そもそもソリューション内のファイルを適切に配置することです。プロジェクトのソースファイルは、プロジェクトのメタデータ(つまり、上記でリストしたファイル)とは別に、理想的には独自の階層内の別々のフォルダーに保持する必要があります(これにより、同じソースコードに対して複数のVCプロジェクトファイルを作成できるため、寄稿者はVC2005を使用できます。 2008年と2010年を同時に)。

于 2012-09-14T16:27:23.227 に答える
10

このVisualStudio.gitignoreの質問への回答にリストされているフォルダーと拡張子を見て、一般的に必須ではないと見なされるファイルのアイデアを確認してください。

ただし、一般的に、それが何であるかわからない場合は、削除することはお勧めできません。たとえば、.sdfファイルはSQL Server CEデータベースである場合があり、これは一部のプロジェクトで重要になる場合があります。したがって、ソリューションクリーナースクリプトを実行する前に、必ずどこかにバックアップを作成してください。

于 2012-09-14T16:25:06.060 に答える