프로젝트 .\bin\debug\
에서 컴파일 할 때 폴더 로 복사하고 싶은 파일이 있다면 프로젝트 의 루트에 넣어야하는 것 같습니다. 하위 폴더에 넣는 것은 .\bin\debug\
저장된 동일한 구조 의 폴더 로 복사하는 것처럼 보입니다 .
이것을 피할 수있는 방법이 있습니까?
그냥 명확하게하기 위해 : 나는 경우 MyFirstConfigFile.txt
와 MySecondConfigFile.txt
A의 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
(예)
링크의 경우 Windows 탐색기에서 Shift 및 Ctrl 키를 누른 상태에서 솔루션 탐색기로 파일을 끌어옵니다.
답변
개인적으로 저는 이런 방식을 선호합니다.
.csproj
추가 할 수정
<ItemGroup>
<ContentWithTargetPath Include="ConfigFiles\MyFirstConfigFile.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>%(Filename)%(Extension)</TargetPath>
</ContentWithTargetPath>
</ItemGroup>
답변
하위 폴더에서 하위 폴더로 복사
if not exist "$(ProjectDir)$(OutDir)subfolder" mkdir "$(ProjectDir)$(OutDir)subfolder"
copy "$(ProjectDir)subfolder\" "$(ProjectDir)$(OutDir)subfolder\"
답변
프로젝트에서 빌드 후 이벤트를 사용하려고합니다. 거기에서 출력을 지정할 수 있으며 프로젝트 경로, 항목 이름 등과 같이 자주 사용되는 항목에 대한 매크로 값이 있습니다.
답변
프로젝트의 PostBuild 이벤트를 사용할 수 있습니다. 빌드가 완료된 후 DOS 배치 파일을 실행하고 원하는 파일을 원하는 폴더에 복사 할 수 있습니다.
