web-dev-qa-db-ja.com

Visual Studioでは、「クリーン」コマンドは何をしますか?

これを出力するもの=>

------クリーンスタート:プロジェクト:Foo.Bar、構成:任意のCPUのデバッグ------
==========クリーン:1成功、0失敗、0スキップ==========

クリーニングとは?

64
Arnis Lapsa

出力ディレクトリ-以前にビルドしたコードを削除します。

Bin/objディレクトリ自体(またはその下のDebug/Releaseディレクトリ)は削除されず、実際の.exe、.dllなどのファイルのみが削除されます。残念ながら、これにより、出力ディレクトリをクリーンアップするという通常の使用では、ソースコードを圧縮したい場合にはあまり役に立ちません。 Cleanアクションではこれが行われないため、通常はbinおよびobjディレクトリを直接削除します。

70
Jon Skeet

自分を探してみませんか? Microsoft.Common.Targets(%windir%\ Microsoft.NETにあります)を開くと、次のようなセクションが表示されます。

<!--
============================================================
                                    Clean

Delete all intermediate and final build outputs.
============================================================
-->
<PropertyGroup>
    <CleanDependsOn>
        BeforeClean;
        CleanReferencedProjects;
        UnmanagedUnregistration;
        CoreClean;
        CleanPublishFolder;
        AfterClean
    </CleanDependsOn>
</PropertyGroup>
<Target
    Name="Clean"
    Condition=" '$(_InvalidConfigurationWarning)' != 'true' "
    DependsOnTargets="$(CleanDependsOn)" />

読み続けて、これらのサブターゲットのそれぞれが何をするかを正確に確認してください。 (もちろん、一部はユーザーがオーバーライドするための単なるスタブです)。

個人的には、私のファンシーパンツIDEが背中の後ろにあることを確認します。このため、出力ウィンドウに書き込まれる情報の量を増やすことをお勧めします。ツール- >オプション->プロジェクトとソリューション->ビルドと実行-> MSBuildの冗長性->「最小」から「通常」または「詳細」に変更します。

クリーン操作を再試行し、出力を確認してください!表示内容を* .targetsファイルに関連付けることは、MSBuildの学習を開始するための良い方法です。

28
Richard Berg

出力ディレクトリを調べて、そこにあるビルド関連ファイルを削除します。

プロジェクトのプロパティに移動して、これを構成することもできると思います

構成プロパティ->一般、「クリーン時に削除する拡張機能」の下

14
Joseph

ビルド、出力ディレクトリに関連付けられているすべてのファイルを削除します

3
vehomzzz

人々は「クリーン」を使用して、ソースから完全に再構築します。コンパイラは、変更されていない場合、毎回すべてのファイルを再構築するわけではありません。

1
Adam Casey