[visual-studio] Visual Studio에서 솔루션 및 디렉토리의 이름을 바꾸는 올바른 방법
이름을 바꾸어야하는 다소 Visual Studio 솔루션 (2010,하지만 중요하지 않음)이 있습니다.
새 솔루션 이름과 일치하도록 폴더의 이름을 바꾸고 싶지만 폴더 이름을 자동으로 리팩터링하는 방법을 알 수 없으므로 모든 단일 프로젝트 파일을 처리하는 것이 어려울 것입니다.
이 작업을 수행하는 공식적인 방법이 있습니까? 대안으로 (그리고 훨씬 덜 바람직하게), 이것을 달성 할 수있는 무료 도구가 있습니까?
답변
.sln 파일 수동 편집
이 방법은 전적으로 Windows 탐색기에서 볼 수 있듯이 프로젝트의 디렉토리 이름을 바꾸는 데 목적이 있습니다.
이 방법은 아래의 프로젝트 파일 제거 / 추가 방법 에 문제가 없지만 (참조가 사라짐) 프로젝트가 소스 제어하에있는 경우 문제가 발생할 수 있습니다 (아래 참고 참조). 이것이 2 단계 (백업)가 중요한 이유입니다.
- Visual Studio를 닫습니다.
- .sln 파일의 백업을 만듭니다 (언제든지 롤백 할 수 있음).
- 당신이 디렉토리의 이름을 바꾸려면 상상
Project1
에Project2
. - 소스 제어를 사용하지 않는 경우 Windows 탐색기
Project1
를Project2
사용하여 폴더 이름을 바꿉니다 . - 소스 제어를 사용하는 경우 소스 제어에서 제공하는 기능
Project1
을Project2
사용하여 폴더 이름을에서 로 변경하십시오 . 파일의 기록을 유지합니다. 예를 들어으로TortoiseSVN
파일을 마우스 오른쪽 버튼으로 클릭하고을 선택TortoiseSVN .. Rename
합니다. - 의 .sln 파일에서 편집의 모든 인스턴스가
Project1
될 수Project2
같은 텍스트 편집기를 사용하여 메모장 . - Visual Studio를 다시 시작하면 모든 것이 이전과 같이 작동하지만 프로젝트는 다른 디렉토리에 있습니다.
당신은 또한 볼 수 있습니다 수동으로 솔루션 이름 바꾸기 또는 이 수동 프로세스를 설명 게시물을 .
장점
- Windows 탐색기 내의 디렉토리가 솔루션 내의 프로젝트 이름과 일치하게 할 수 있습니다.
- 이 방법은 다른 프로젝트에서이 파일에 대한 참조를 제거 하지 않습니다 ( 프로젝트 파일 제거 / 추가 방법에 대한 장점 은 아래의 다른 답변 참조).
경고
- 이름을 변경하기 전에 모든 항목을 .zip 파일로 백업하는 것이 중요합니다.이 방법을 사용하면 소스 제어에 문제가 발생할 수 있습니다.
- 프로젝트가 소스 제어하에있는 경우 Windows 탐색기를 사용하여 소스 제어 외부에서 파일 또는 디렉토리의 이름을 바꾸면 문제가 발생할 수 있습니다. 가능한 경우 소스 제어 프레임 워크 자체를 사용하여 파일의 이름을 바꾸는 것이 좋습니다. 가능한 경우 해당 파일의 기록을 보존하십시오 (오른쪽 클릭으로 컨텍스트 메뉴를 확인하십시오-파일 이름을 바꾸는 기능이있을 수 있음).
2014-11-02 업데이트
ReSharper는 위의 수동 방법과 동일한 결과를 얻기 위해 자동 방법을 추가했습니다. 네임 스페이스에 파란색 선으로 밑줄이 표시되면 작업 피라미드 아이콘을 클릭하여 다음 중 하나를 수행하십시오.
- Windows 탐색기에서 디렉토리 이름과 일치하도록 네임 스페이스의 이름을 바꾸십시오.
- 네임 스페이스와 일치하도록 Windows 탐색기에서 디렉토리 이름을 바꾸십시오.
두 번째 경우, 마지막 단어는 Windows 탐색기에서 새 디렉토리 이름을 정의합니다. 예를 들어 네임 스페이스를로 변경 ViewModel2
하면 파일을 폴더로 이동합니다 ViewModel2
.
그러나 소스 제어에서 파일을 반드시 업데이트 할 필요는 없으므로 수동 방법을 사용해야 할 수도 있습니다.
2018-01-31 업데이트
Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 업데이트 1, 2, 3, 4, 5로 테스트되었습니다.
2020-05-02 업데이트
Visual Studio 2019에서 테스트되었습니다.
답변
솔루션 이름을 바꾸려면 다음 단계를 수행하십시오.
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택한 후 새 이름을 입력하십시오.
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 선택하십시오. 응용 프로그램 탭에서 “어셈블리 이름”및 “기본 네임 스페이스”를 변경하십시오.
- 기본 cs 파일 (또는 다른 코드 파일)에서 새 이름을 사용하도록 네임 스페이스 선언의 이름을 바꿉니다. 이를 위해 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 리 팩터> 이름 바꾸기를 선택하십시오. 새 이름을 입력하십시오. 예를 들면 다음과 같습니다.
namespace WindowsFormsApplication1
-
Properties / AssemblyInfo.cs에서 AssemblyTitle 및 AssemblyProduct를 변경하십시오.
[assembly: AssemblyTitle("New Name Here")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("New Name Here")] [assembly: AssemblyCopyright("Copyright © 2013")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")]
-
bin 및 obj 디렉토리를 물리적으로 삭제하십시오.
-
프로젝트 실제 폴더 디렉토리의 이름을 바꾸십시오.
-
메모장이나 편집기 내에서 SLN 파일을 열고 프로젝트 경로를 변경하십시오.
-
프로젝트를 정리하고 다시 빌드하십시오.
답변
Visual Studio에서 이름 바꾸기 작업은 파일 이름 (예 : 프로젝트 * .prj 및 솔루션 * .sln) 만 변경합니다. 파일 시스템을 사용하여 폴더 이름을 개별적으로 바꾸어야하며, 새 폴더 이름을 가지므로 프로젝트를 제거하고 읽어야합니다. 그러나 솔루션 및 프로젝트 파일은 각각 texst 및 xml 파일입니다. 파일을 구문 분석하고 폴더 이름과 파일 이름을 바꾸고 프로젝트 / 솔루션 파일을 내부적으로 수정하는 자체 프로그램을 작성할 수 있습니다.
답변
템플릿을 내 보낸 다음 내 보낸 템플릿에서 원하는대로 이름을 변경하여 새 프로젝트를 만들 수도 있습니다.
답변
다음은 Visual Studio 2013에서 전체 솔루션의 이름을 바꾸는 단계별 방법입니다.
“HelloWorld.ui”라는 프로젝트를 “Section1to5.ui”로 변경한다고 가정합니다.
- 솔루션 탐색기 (아래 스크린 샷)로 이동하여 이름을 바꾸려는 프로젝트를 마우스 오른쪽 단추로 클릭하고 “이름 바꾸기”를 선택하십시오. 원하는 새 이름을 입력하십시오.
-
방금 이름을 바꾼 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 “속성”을 클릭하십시오. 응용 프로그램 탭에서 “어셈블리 이름”및 “기본 네임 스페이스”를 변경하십시오.
-
기본 Program.cs 파일 (또는 사용자가 만든 다른 코드 파일)에서 새 이름을 사용하도록 네임 스페이스 선언의 이름을 바꿉니다. 이를 위해 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 리 팩터> 이름 바꾸기를 선택하십시오. 새 이름을 입력하십시오. 예를 들면 다음과 같습니다.
네임 스페이스 HelloWorld.ui —-> 네임 스페이스 Section1to5.ui
-
그런 다음 “속성”을 확장하고 AssemblyInfo.cs 파일을 두 번 클릭하십시오. 아래 코드 조각을 볼 수 있습니다.
[assembly: AssemblyTitle("HelloWorld.ui")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("HelloWorld.ui")] [assembly: AssemblyCopyright("Copyright © Microsoft 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")]
Properties / AssemblyInfo.cs의 AssemblyTitle 및 AssemblyProduct를 새 이름으로 변경해야합니다 (이 예에서는 “HelloWorld.ui”에서 “Section1to5.ui”로). 이름 변경을 마치면 Visual Studio를 저장하고 닫습니다.
-
프로젝트 디렉토리에서 “HelloWorld.ui”폴더로 이동하여 “bin”및 “obj”디렉토리를 삭제하십시오.
-
완료되면 “HelloWorld.ui”폴더의 이름을 새 프로젝트 이름으로 바꾸십시오.
-
메모장 또는 메모장 ++과 같은 텍스트 편집기로 이름이 바뀐 솔루션 파일을 열고 다음 행을 편집하십시오.
프로젝트 ( “{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”) = “HelloWorld.ui”, “HelloWorld.ui \ HelloWorld.ui.csproj”, “{39FC65A3-3AE7-4EC9-B8F7-74F971636C70}”
“HelloWorld.ui”의 모든 인스턴스를 프로젝트에 대해 선택한 새 이름 (이 경우 “Section1to5.ui”)으로 바꾸십시오. 6 단계에서 프로젝트 경로가 이름이 바뀐 디렉토리로 변경됩니다.
-
Visual Studio에서 솔루션 파일을 열고 프로젝트를 정리하고 다시 빌드하십시오.
-
“Debug / Run”버튼이 “Attach”버튼으로 대체 된 것을 알 수 있습니다. 이 경우 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 “시작 프로젝트로 설정”옵션을 선택하십시오. 또는 도구> 사용자 정의> 명령> 명령 추가> 디버그를 클릭하고 버튼을 추가하십시오.
궁금한 점이 있으시면 언제든지 프로젝트 이름을 바꾸 셨습니다. 기꺼이 도와 드리겠습니다.
답변
bin 및 obj 하위 폴더를 삭제하여 잘못된 참조를 제거한 다음 창을 사용하여 이전 이름을 검색하십시오.
발견 된 코드 또는 xml 파일을 편집하고 다시 빌드하십시오.
답변
ASP.NET Core 2 솔루션에서 Visual Studio 확장명 “Full Rename Project”를 사용하여 프로젝트의 이름을 성공적으로 바꿨습니다.
ReSharper를 사용하여 네임 스페이스를 조정했습니다 (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 리팩터링하고 네임 스페이스를 조정하십시오 …)