[visual-studio] Visual Studio에서 솔루션 및 디렉토리의 이름을 바꾸는 올바른 방법

이름을 바꾸어야하는 다소 Visual Studio 솔루션 (2010,하지만 중요하지 않음)이 있습니다.

새 솔루션 이름과 일치하도록 폴더의 이름을 바꾸고 싶지만 폴더 이름을 자동으로 리팩터링하는 방법을 알 수 없으므로 모든 단일 프로젝트 파일을 처리하는 것이 어려울 것입니다.

이 작업을 수행하는 공식적인 방법이 있습니까? 대안으로 (그리고 훨씬 덜 바람직하게), 이것을 달성 할 수있는 무료 도구가 있습니까?



답변

.sln 파일 수동 편집

이 방법은 전적으로 Windows 탐색기에서 볼 수 있듯이 프로젝트의 디렉토리 이름을 바꾸는 데 목적이 있습니다.

이 방법은 아래의 프로젝트 파일 제거 / 추가 방법 에 문제가 없지만 (참조가 사라짐) 프로젝트가 소스 제어하에있는 경우 문제가 발생할 수 있습니다 (아래 참고 참조). 이것이 2 단계 (백업)가 중요한 이유입니다.

  1. Visual Studio를 닫습니다.
  2. .sln 파일의 백업을 만듭니다 (언제든지 롤백 할 수 있음).
  3. 당신이 디렉토리의 이름을 바꾸려면 상상 Project1Project2.
  4. 소스 제어를 사용하지 않는 경우 Windows 탐색기 Project1Project2사용하여 폴더 이름을 바꿉니다 .
  5. 소스 제어를 사용하는 경우 소스 제어에서 제공하는 기능 Project1Project2사용하여 폴더 이름을에서 로 변경하십시오 . 파일의 기록을 유지합니다. 예를 들어으로 TortoiseSVN파일을 마우스 오른쪽 버튼으로 클릭하고을 선택 TortoiseSVN .. Rename합니다.
  6. 의 .sln 파일에서 편집의 모든 인스턴스가 Project1될 수 Project2같은 텍스트 편집기를 사용하여 메모장 .
  7. 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에서 테스트되었습니다.


답변

솔루션 이름을 바꾸려면 다음 단계를 수행하십시오.

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택한 후 새 이름을 입력하십시오.
  2. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 선택하십시오. 응용 프로그램 탭에서 “어셈블리 이름”및 “기본 네임 스페이스”를 변경하십시오.
  3. 기본 cs 파일 (또는 다른 코드 파일)에서 새 이름을 사용하도록 네임 스페이스 선언의 이름을 바꿉니다. 이를 위해 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 리 팩터> 이름 바꾸기를 선택하십시오. 새 이름을 입력하십시오. 예를 들면 다음과 같습니다.
    namespace WindowsFormsApplication1
  4. 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("")]
    
  5. bin 및 obj 디렉토리를 물리적으로 삭제하십시오.

  6. 프로젝트 실제 폴더 디렉토리의 이름을 바꾸십시오.

  7. 메모장이나 편집기 내에서 SLN 파일을 열고 프로젝트 경로를 변경하십시오.

  8. 프로젝트를 정리하고 다시 빌드하십시오.


답변

Visual Studio에서 이름 바꾸기 작업은 파일 이름 (예 : 프로젝트 * .prj 및 솔루션 * .sln) 만 변경합니다. 파일 시스템을 사용하여 폴더 이름을 개별적으로 바꾸어야하며, 새 폴더 이름을 가지므로 프로젝트를 제거하고 읽어야합니다. 그러나 솔루션 및 프로젝트 파일은 각각 texst 및 xml 파일입니다. 파일을 구문 분석하고 폴더 이름과 파일 이름을 바꾸고 프로젝트 / 솔루션 파일을 내부적으로 수정하는 자체 프로그램을 작성할 수 있습니다.


답변

템플릿을 내 보낸 다음 내 보낸 템플릿에서 원하는대로 이름을 변경하여 새 프로젝트를 만들 수도 있습니다.


답변

다음은 Visual Studio 2013에서 전체 솔루션의 이름을 바꾸는 단계별 방법입니다.

“HelloWorld.ui”라는 프로젝트를 “Section1to5.ui”로 변경한다고 가정합니다.

  1. 솔루션 탐색기 (아래 스크린 샷)로 이동하여 이름을 바꾸려는 프로젝트를 마우스 오른쪽 단추로 클릭하고 “이름 바꾸기”를 선택하십시오. 원하는 새 이름을 입력하십시오.

솔루션 탐색기 스크린 샷

  1. 방금 이름을 바꾼 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 “속성”을 클릭하십시오. 응용 프로그램 탭에서 “어셈블리 이름”및 “기본 네임 스페이스”를 변경하십시오.

  2. 기본 Program.cs 파일 (또는 사용자가 만든 다른 코드 파일)에서 새 이름을 사용하도록 네임 스페이스 선언의 이름을 바꿉니다. 이를 위해 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 리 팩터> 이름 바꾸기를 선택하십시오. 새 이름을 입력하십시오. 예를 들면 다음과 같습니다.

    네임 스페이스 HelloWorld.ui —-> 네임 스페이스 Section1to5.ui

  3. 그런 다음 “속성”을 확장하고 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를 저장하고 닫습니다.

  1. 프로젝트 디렉토리에서 “HelloWorld.ui”폴더로 이동하여 “bin”및 “obj”디렉토리를 삭제하십시오.

  2. 완료되면 “HelloWorld.ui”폴더의 이름을 새 프로젝트 이름으로 바꾸십시오.

  3. 메모장 또는 메모장 ++과 같은 텍스트 편집기로 이름이 바뀐 솔루션 파일을 열고 다음 행을 편집하십시오.

    프로젝트 ( “{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”) = “HelloWorld.ui”, “HelloWorld.ui \ HelloWorld.ui.csproj”, “{39FC65A3-3AE7-4EC9-B8F7-74F971636C70}”

“HelloWorld.ui”의 모든 인스턴스를 프로젝트에 대해 선택한 새 이름 (이 경우 “Section1to5.ui”)으로 바꾸십시오. 6 단계에서 프로젝트 경로가 이름이 바뀐 디렉토리로 변경됩니다.

  1. Visual Studio에서 솔루션 파일을 열고 프로젝트를 정리하고 다시 빌드하십시오.

  2. “Debug / Run”버튼이 “Attach”버튼으로 대체 된 것을 알 수 있습니다. 이 경우 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 “시작 프로젝트로 설정”옵션을 선택하십시오. 또는 도구> 사용자 정의> 명령> 명령 추가> 디버그를 클릭하고 버튼을 추가하십시오.

궁금한 점이 있으시면 언제든지 프로젝트 이름을 바꾸 셨습니다. 기꺼이 도와 드리겠습니다.


답변

bin 및 obj 하위 폴더를 삭제하여 잘못된 참조를 제거한 다음 창을 사용하여 이전 이름을 검색하십시오.

발견 된 코드 또는 xml 파일을 편집하고 다시 빌드하십시오.


답변

ASP.NET Core 2 솔루션에서 Visual Studio 확장명 “Full Rename Project”를 사용하여 프로젝트의 이름을 성공적으로 바꿨습니다.

ReSharper를 사용하여 네임 스페이스를 조정했습니다 (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 리팩터링하고 네임 스페이스를 조정하십시오 …)

https://github.com/kuanysh-nabiyev/RenameProjectVsExtension

여기에 이미지 설명을 입력하십시오