Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

(시리즈 글이 4개 있습니다.)
.NET Framework: 2111. C# - 바이너리 출력 디렉터리와 연관된 csproj 설정
; https://www.sysnet.pe.kr/2/0/13336

VS.NET IDE: 197. (OneDrive, Dropbox 등의 공유 디렉터리에 있는) C++ 프로젝트의 출력 경로 변경하기
; https://www.sysnet.pe.kr/2/0/13903

VS.NET IDE: 198. (OneDrive, Dropbox 등의 공유 디렉터리에 있는) C# 프로젝트의 출력 경로 변경하기
; https://www.sysnet.pe.kr/2/0/13907

VS.NET IDE: 199. Directory.Build.props에 정의한 속성에 대해 Condition 제약으로 값을 변경하는 방법
; https://www.sysnet.pe.kr/2/0/13917




Visual Studio - (OneDrive, Dropbox 등의 공유 디렉터리에 있는) C++ 프로젝트의 출력 경로 변경하기

(2025-05-03 업데이트) 귀찮음이 종종 있으니, 순수하게 Console Application 프로젝트만을 생성하는 경우가 아니라면 아래의 방법을 사용하는 것은 좋은 선택이 아닙니다. ^^; 저도 현재는 이 방법을 사용하지 않고 있습니다. 그냥 이런 방법도 있다는 정도로만 알고 넘어가시는 것을 추천합니다.



개인적으로 종종 프로젝트를 OneDrive나 Dropbox 공유 디렉터리에 생성할 때가 있습니다. 그런 경우, 빌드 결과물이 동기화로 인해 dropbox에 의해 잠겨져 이후 빌드에서 실패하는 경우가 발생합니다. 사실 애당초 *.obj 등의 파일이 공유 디렉터리 내에 생성될 필요가 없기도 합니다.

이런 문제를 해결하려면 vcxproj 파일에 출력 경로를 변경하는 설정을 대충 다음과 같이 추가할 수 있는데요,

<!-- https://learn.microsoft.com/en-us/visualstudio/ide/how-to-change-the-build-output-directory?tabs=cpp#set-the-intermediate-output-directory-for-a-project -->

<PropertyGroup>
    <!-- exe/pdb 파일 생성 경로 변경 -->
    <OutDir>C:\temp\builds\$(MSBuildProjectName)\$(Platform)\$(Configuration)\</OutDir>

    <!-- 임시 파일(obj, ilk, log,...) 생성 경로 변경 -->
    <IntDir>C:\temp\builds\$(MSBuildProjectName)\temp\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>

매번 vcxproj 파일을 수정하는 것이 번거롭다면 Directory.Build.props 파일을 이용해 공유 디렉터리의 루트에 생성하는 것으로 쉽게 우회할 수 있습니다.

C:\temp> type %USERPROFILE%\Dropbox\Directory.Build.props
<Project>
    <PropertyGroup>
        <OutDir>C:\temp\builds\$(MSBuildProjectName)\$(Platform)\$(Configuration)\</OutDir>
        <IntDir>C:\temp\builds\$(MSBuildProjectName)\temp\$(Platform)\$(Configuration)\</IntDir>
    </PropertyGroup>
</Project>




비록 빌드 과정에서의 충돌 문제는 발생하지 않지만, (공유 디렉터리에서) 그다음 귀찮은 결과물이 ".vs" 디렉터리인데요, 아쉽게도 이것을 제어하는 방법은 아직 없습니다. 현재 이슈로 등록돼 있긴 하지만,

Ability to relocate .vs folder out of solution directory
; https://developercommunity.visualstudio.com/t/Ability-to-relocate-vs-folder-out-of-so/1389600

Change location of .vs folder
; https://developercommunity.visualstudio.com/t/change-location-of-vs-folder/1392253

어째 해결의 기미가 영 보이질 않습니다. ^^;




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 5/3/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11887정성태5/8/201921527.NET Framework: 829. C# - yield 문을 사용할 수 있는 메서드의 조건
11886정성태5/7/201919337오류 유형: 534. mstest.exe 실행 시 "Visual Studio Enterprise is required to execute the test." 오류 [2]
11885정성태5/7/201916284오류 유형: 533. mstest.exe 실행 시 "File extension specified '.loadtest' is not a valid test extension." 오류 발생
11884정성태5/5/201921081.NET Framework: 828. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 두 번째 이야기
11883정성태5/3/201926249.NET Framework: 827. C# - 인터넷 시간 서버로부터 받은 시간을 윈도우에 적용하는 방법파일 다운로드1
11882정성태5/2/201922548.NET Framework: 826. (번역글) .NET Internals Cookbook Part 11 - Various C# riddles파일 다운로드1
11881정성태4/28/201922651오류 유형: 532. .NET Core 프로젝트로 마이그레이션 시 "CS0579 Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute" 오류 발생
11880정성태4/25/201918511오류 유형: 531. 이벤트 로그 오류 - Task Scheduling Error: m->NextScheduledSPRetry 1547, m->NextScheduledEvent 1547
11879정성태4/24/201926944.NET Framework: 825. (번역글) .NET Internals Cookbook Part 10 - Threads, Tasks, asynchronous code and others파일 다운로드2
11878정성태4/22/201922728.NET Framework: 824. (번역글) .NET Internals Cookbook Part 9 - Finalizers, queues, card tables and other GC stuff파일 다운로드1
11877정성태4/22/201922778.NET Framework: 823. (번역글) .NET Internals Cookbook Part 8 - C# gotchas파일 다운로드1
11876정성태4/21/201921748.NET Framework: 822. (번역글) .NET Internals Cookbook Part 7 - Word tearing, locking and others파일 다운로드1
11875정성태4/21/201922818오류 유형: 530. Visual Studo에서 .NET Core 프로젝트를 열 때 "One or more errors occurred." 오류 발생
11874정성태4/20/201923000.NET Framework: 821. (번역글) .NET Internals Cookbook Part 6 - Object internals파일 다운로드1
11873정성태4/19/201921620.NET Framework: 820. (번역글) .NET Internals Cookbook Part 5 - Methods, parameters, modifiers파일 다운로드1
11872정성태4/17/201922390.NET Framework: 819. (번역글) .NET Internals Cookbook Part 4 - Type members파일 다운로드1
11871정성태4/16/201920938.NET Framework: 818. (번역글) .NET Internals Cookbook Part 3 - Initialization tricks [3]파일 다운로드1
11870정성태4/16/201919286.NET Framework: 817. Process.Start로 실행한 콘솔 프로그램의 출력 결과를 얻는 방법파일 다운로드1
11869정성태4/15/201925137.NET Framework: 816. (번역글) .NET Internals Cookbook Part 2 - GC-related things [2]파일 다운로드2
11868정성태4/15/201921112.NET Framework: 815. CER(Constrained Execution Region)이란?파일 다운로드1
11867정성태4/15/201920292.NET Framework: 814. Critical Finalizer와 SafeHandle의 사용 의미파일 다운로드1
11866정성태4/9/201923360Windows: 159. 네트워크 공유 폴더(net use)에 대한 인증 정보는 언제까지 유효할까요?
11865정성태4/9/201919233오류 유형: 529. 제어판 - C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools is not accessible.
11864정성태4/9/201917894오류 유형: 528. '...' could be '0': this does not adhere to the specification for the function '...'
11863정성태4/9/201917792디버깅 기술: 127. windbg - .NET x64 EXE의 EntryPoint
11862정성태4/7/201920292개발 환경 구성: 437. .NET EXE의 ASLR 기능을 끄는 방법
... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...