Visual Studio에서 프로젝트를 다른 폴더로 어떻게 이동합니까? 내 프로젝트 에서이 구조에 익숙합니다.
-- app
---- Project.Something
---- Project.SomethingElse
전체 네임 스페이스 SomethingElse의 이름을 SomethingNew로 바꾸고 싶습니다. 수동으로 .sln 파일로 이동하지 않는 가장 좋은 방법은 무엇입니까?
Visual Studio에서 프로젝트를 다른 폴더로 어떻게 이동합니까? 내 프로젝트 에서이 구조에 익숙합니다.
-- app
---- Project.Something
---- Project.SomethingElse
전체 네임 스페이스 SomethingElse의 이름을 SomethingNew로 바꾸고 싶습니다. 수동으로 .sln 파일로 이동하지 않는 가장 좋은 방법은 무엇입니까?
답변:
솔루션 탐색기 창에서 마우스 오른쪽 버튼으로 클릭하고 제거를 선택하여 솔루션에서 프로젝트를 제거하십시오. 하위 디렉토리를 포함하여 전체 프로젝트 폴더를 원하는 곳으로 이동하십시오. 솔루션에 프로젝트를 다시 추가하십시오.
네임 스페이스 이름은 완전히 다른 것입니다. 소스 코드 만 편집하면됩니다.
프로젝트를 제거하고 다시 추가하라는 제안을 시도했지만 종속성을 수정하는 것이 어려울 수 있습니다.
나는이 접근법을 사용한다 :
git mv ...
대신에 입력하십시오 mv ...
. 자세한 내용은 git-mv
설명서를 참조하십시오 .
나는 같은 문제가 있었다. 나는 참조를 변경하지 않고 참조를 이동하고 15 분 이내에 해결했습니다.
나에게 해결책은 간단했다.
예 :
솔루션 파일 (.sln)
원본 : Project ( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PATH1.UI", " 스캐너 PDF \ PATH1.UI \ PATH1.UI.csproj", "{A26438AD-E428-4AE4-8AB8-A5D6933E2D7B } "프로젝트 ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ") ="PATH1.DataService "," ScannerPDF \ PATH1.DataService \ PATH1.DataService.csproj ","{ED5A561B-3674-4613-ADE5-B13661146E2E } "
신규 : Project ( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PATH1.MX.UI", "PATH1.MX.UI \ PATH1.UI.csproj", "{A26438AD-E428-4AE4-8AB8 -A5D6933E2D7B} "프로젝트 ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ") ="PATH1.DataService ","PATH1.DataService \ PATH1.DataService.csproj ","{ED5A561B-3674-4613-ADE5-B13661146E2E } "
프로젝트 파일에서 :
실물:
새로운:
원본 참조 : .... \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
새로운 참조 : .. \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
요약 : VS2019에서 git으로 이름 바꾸기 및 이동, git 기록 유지, R # 비트 활용, 자동 종속 프로젝트 참조 업데이트 (많은 프로젝트가있는 sln의 경우 200 이상)
Visual Studio 2019에서 C # 프로젝트의 이름을 바꾸고 이동하는 데 다음 단계를 사용했습니다.이 프로세스는 R #을 사용하여 네임 스페이스를 조정합니다. git 히스토리는 "git mv"를 수행하여 유지됩니다 (히스토리 추가 / 삭제 방지).
2 단계 : 1) 프로젝트 이름을 바꾸고 2) 프로젝트를 이동합니다.
( base2 다시 언로드 프로젝트의 팁을 사용 합니다.)
이름 바꾸기
참고 : Windows 탐색기의 폴더는이 시점까지 이전 이름으로 유지됩니다 (예 : Utils.Foo). 이동 단계에서 수정되었습니다.
움직임
이 방법은 1) git history를 유지하고 2) R #을 사용하여 네임 스페이스를 원자 적으로 조정하고 3) 종속 프로젝트를 일괄 업데이트합니다 (종속 sln 및 csproj 파일의 지루한 수동 편집은 피하십시오).
솔루션에서 모든 프로젝트를 언로드하십시오 (대상 프로젝트를 제거해도 종속 프로젝트의 변경 사항이 트리거되지 않도록 함)
VS | 솔루션 | 솔루션 아래에서 모든 솔루션 폴더를 선택하십시오. 프로젝트 언로드를 마우스 오른쪽 단추로 클릭하십시오.
git를 사용하여 폴더 이동 (이력이 유지됩니다)
a) 2019 년 개발자 명령 프롬프트 열기
b) 자식 상태 (“커밋 할 것이 없음, 작업 트리 정리”를 설명하기 위해)
c) 프로젝트 git mv 예 : git mv "C : \ Code \ foo \ foo \ Utils.Foo" "C : \ Code \ Foo"
d) 변경을 보거나 확인하기위한 자식 상태
VS | 솔루션 탐색기 | 프로젝트 선택 | 마우스 오른쪽 버튼을 클릭 | 제거 (모든 프로젝트가 언로드되므로 종속 프로젝트에서 해당 프로젝트에 대한 참조가 올바르게 제거되지 않음)
a) VS | 솔루션 탐색기 | 대상 상위 폴더 선택 | 마우스 오른쪽 버튼을 클릭 | 추가 | 기존 프로젝트
중요 : 종속 프로젝트의 * .csproj 파일이 업데이트되었는지 확인하십시오.
(VS | 팀 탐색기 | 변경 | 나열된 종속 csproj를 두 번 클릭 | 프로젝트 참조 경로 변경 검사-확인)
메모장 ++ (또는 다른 텍스트 편집기)를 사용하여 경로를 수정하십시오. 종종 간단한 검색 및 바꾸기 (예 : ../../../../에서 ../../)로 수행 할 수 있습니다.
이것은 업데이트됩니다 ...
a) GlobalAssmeblyInfo.cs 참조
b) 패키지 경로
c) 종속성 유효성 검사 다이어그램 파일의 경로
d) 룰 경로에 경로 (예 <CodeAnalysisRuleSet>..\..\..\..\SolutionDependencyValidation\IgnoreWarnings.ruleset</CodeAnalysisRuleSet>
)
모두 저장, 솔루션 닫기, bin 및 obj 폴더를 삭제하여 기록을 정리하고 솔루션 다시 열기를 선호합니다
a) VS | 팀 탐색기 | 변경
i) 이동 한 파일을 공개하는 단계적 변경 사항이 표시되어야합니다. ii) 멋지게 업데이트 된 종속 프로젝트 (* .csproj)가 csproj diff를 검토하고 경로가 아름답게 업데이트 된 것을 확인해야합니다 !! (이것은 텍스트 편집기를 사용하여 csproj 파일을 수동으로 업데이트하는 것을 피하는 마술입니다)
b) Windows 탐색기에서 이전 위치가 비어 있는지 확인하십시오.
c) 솔루션 정리, 솔루션 재구성, 단위 테스트 실행, sln에서 앱 시작
VS2012에서는 쉽습니다. 변경 매핑 기능을 사용하십시오.
나는 이것이 나를 위해 일한이 시도를 알아 냈다.
Visual Studio 2017 커뮤니티 에디션에서는이 경로 "C : \ Users \ mark \ source \ repos \ mipmaps \ mipmaps"에 프로젝트를 만듭니다. 이렇게하면 파일에 대한 액세스가 거부됩니다.
이제이 방법으로 고칠 수 있습니다.
비주얼 스튜디오 프로세스를 닫습니다. 그런 다음 프로젝트를 찾아 프로젝트 폴더를 복사하십시오. 그러나 먼저 Visual Studio 2017 폴더 안에 하위 폴더라는 이름의 프로젝트를 문서로 만듭니다. 그런 다음 기본 Visual Studio 2017 폴더가 아닌 Visual Studio 2017 프로젝트 폴더 안에 프로젝트 폴더를 붙여넣고 Projects라는 하위 폴더로 이동하십시오. 그런 다음 Visual Studio 2017을 다시 시작한 다음 프로젝트 열기 솔루션을 선택한 다음 Visual Studio 2017 Projects 폴더에 붙여 넣은 프로젝트를 찾은 다음 프로젝트를 정리하고 다시 빌드하십시오. 빌드하고 컴파일해야합니다. 희망, 이것은 다른 사람을 도왔습니다. 왜 Microsoft가 쓰기 권한이 필요한 경로로 프로젝트를 구축한다고 생각하는지 잘 모르겠습니다.
이것은 vb2019에서 효과가있었습니다. 소스 프로젝트 폴더를 복사했습니다. 그런 다음 프로젝트를 붙여 넣고 폴더 이름을 변경했습니다. 소스 프로젝트 폴더와의 연결을 끊기 위해 일시적으로 소스 폴더의 이름을 변경했습니다. 대상 프로젝트를 열었습니다. 폼과 모듈의 경로는 로컬 폴더에서 다시 발견되었습니다. 나는 모든 양식과 모듈을 살펴보고 작동하는지 확인했습니다. 나는 프로젝트를 운영했다. 나는 프로젝트를 닫았다. 소스 프로젝트 폴더의 이름을 원래 이름이 아닌 이름으로 바꿨습니다. 오류없이 두 프로젝트를 동시에 열 수 있습니다.
솔루션 폴더를 사용하여 관련 프로젝트를 그룹화
http://msdn.microsoft.com/en-us/library/vstudio/c6c756s6(v=vs.100).aspx 참조