Programing

컴파일 타임에 응용 프로그램 폴더로 파일 복사

crosscheck 2020. 10. 5. 07:39
반응형

컴파일 타임에 응용 프로그램 폴더로 파일 복사


프로젝트 .\bin\debug\에서 컴파일 할 때 폴더 로 복사하고 싶은 파일이 있다면 프로젝트 의 루트에 넣어야하는 것 같습니다. 하위 폴더에 넣는 것은 .\bin\debug\저장된 동일한 구조 폴더 로 복사하는 것처럼 보입니다 .

이것을 피할 수있는 방법이 있습니까?

그냥 명확하게하기 위해 : 나는 경우 MyFirstConfigFile.txtMySecondConfigFile.txtA의 ConfigFiles폴더를 내가 그들의 설정 출력에 복사복사를 ... , 그들은이 나타납니다 .\bin\debug\ConfigFiles\폴더. .\bin\debug\폴더 에 표시되기를 원합니다 .


빌드 후 이벤트로이를 수행 할 수 있습니다. 컴파일시 파일을 작업 없음으로 설정 한 다음 매크로에서 파일을 원하는 디렉터리로 복사합니다.

다음은 Configuration이라는 디렉토리의 모든 파일을 루트 빌드 폴더에 복사하여 작동 할 것이라고 생각하는 빌드 후 매크로입니다.

copy $(ProjectDir)Configuration\* $(ProjectDir)$(OutDir)

csproj에서 MSBuild 작업을 사용할 수 있습니다.

csproj 파일 편집

  <Target Name="AfterBuild">
    <Copy SourceFiles="$(OutputPath)yourfiles" DestinationFolder="$(YourVariable)" ContinueOnError="true" />
  </Target>

솔루션 탐색기의 루트에 파일 또는 링크를 넣은 다음 파일 속성을 설정할 수도 있습니다.

Build action = Content

Copy to Output Directory = Copy if newer (예)

링크의 경우 Shift 및 Ctrl 키를 누른 상태에서 Windows 탐색기에서 솔루션 탐색기로 파일을 끕니다.

여기에 이미지 설명 입력


하위 폴더에서 하위 폴더로 복사

 if not exist "$(ProjectDir)$(OutDir)subfolder" mkdir "$(ProjectDir)$(OutDir)subfolder"

 copy "$(ProjectDir)subfolder\"  "$(ProjectDir)$(OutDir)subfolder\"

프로젝트에서 빌드 후 이벤트를 사용하려고합니다. 거기에서 출력을 지정할 수 있으며 프로젝트 경로, 항목 이름 등과 같이 자주 사용되는 항목에 대한 매크로 값이 있습니다.


프로젝트의 PostBuild 이벤트를 사용할 수 있습니다. 빌드가 완료된 후 DOS 배치 파일을 실행하고 원하는 파일을 원하는 폴더에 복사 할 수 있습니다.


"컴파일 시간에 응용 프로그램 폴더로 파일 복사"를 검색하는이 질문을 발견했습니다. OP는 이미 정렬 된 것으로 보이지만 그렇지 않은 경우 :

Visual Studio에서 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 '출력으로 복사'옵션을 '항상'으로 변경합니다. http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx 참조

참고 URL : https://stackoverflow.com/questions/747941/copying-files-into-the-application-folder-at-compile-time

반응형