Programing

Visual Studio에서 "Clean"명령은 무엇을합니까?

lottogame 2020. 11. 21. 08:19
반응형

Visual Studio에서 "Clean"명령은 무엇을합니까?


알다시피, 이것을 출력하는 것은 =>

------ 정리 시작 : 프로젝트 : Foo.Bar, 구성 : 모든 CPU 디버그 ------
========== 정리 : 1 성공, 0 실패, 0 건너 뛰기 ==== ======

청소 란 무엇입니까?


출력 디렉토리-이전에 빌드 한 코드를 제거합니다.

bin / obj 디렉터리 자체 (또는 그 아래의 Debug / Release 디렉터리)는 제거하지 않고 실제 .exe, .dll 등의 파일 만 제거합니다. 불행히도 이것은 출력 디렉토리를 정리하는 일반적인 사용에 덜 유용합니다. 소스 코드를 압축하고 싶을 때. Clean 작업은이 작업을 수행하지 않기 때문에 일반적으로 bin 및 obj 디렉터리를 직접 삭제합니다.


왜 자신을 찾지 않습니까? 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 학습을 시작하는 좋은 방법입니다.


출력 디렉토리를 살펴보고 그 안에있는 모든 빌드 관련 파일을 삭제합니다.

프로젝트 속성으로 이동하여 구성 할 수도 있습니다.

구성 속성-> 일반, "치료시 삭제할 확장"아래


빌드, 출력 디렉토리와 관련된 모든 파일을 제거합니다.


사람들은 소스에서 완전한 재 구축을 강제하기 위해 'clean'을 사용합니다. 컴파일러는 변경되지 않은 경우 매번 모든 파일을 다시 빌드하지 않습니다.

참고 URL : https://stackoverflow.com/questions/1603242/in-visual-studio-what-does-the-clean-command-do

반응형