program story

Visual Studio 내에서 프로젝트 폴더의 이름을 바꾸는 방법은 무엇입니까?

inputbox 2020. 10. 2. 22:11
반응형

Visual Studio 내에서 프로젝트 폴더의 이름을 바꾸는 방법은 무엇입니까?


프로젝트 폴더 이름을 바꾸는 현재 솔루션은 다음과 같습니다.

  • 솔루션에서 프로젝트를 제거하십시오.
  • Visual Studio 외부의 폴더 이름을 바꿉니다.
  • 솔루션에 프로젝트를 다시 추가하십시오.

더 좋은 방법이 있습니까?


TFS 사용자 : 파일 / 폴더 이름 바꾸기 전에 경고해야하는 소스 제어를 사용 하는 경우 필요한 추가 단계를 다루는 대신이 답변 을 살펴보십시오 .


Visual Studio에서 프로젝트의 폴더 , 파일 ( .*proj) 및 표시 이름 의 이름을 바꾸려면 :

  • 솔루션을 닫습니다.
  • Visual Studio 외부의 폴더 이름을 바꿉니다. (소스 제어를 사용하는 경우 TFS에서 이름 변경)
  • 경고를 무시하고 솔루션을 엽니 다 (소스 제어에서 프로젝트를로드하라는 메시지가 표시되면 "아니오"로 응답).
  • 사용할 수없는 모든 프로젝트 를 살펴 보고 ...
    • 열기 속성 프로젝트 창 (프로젝트를 눌러 강조 표시 Alt+ Enter또는 F4, 또는 마우스 오른쪽 버튼으로 클릭> 속성).
    • ' 파일 경로 ' 속성을 새 위치로 설정합니다.
      • 속성을 편집 할 수없는 경우 (VS2012 .sln에서와 같이) Notepad ++와 같은 다른 편집기에서 직접 파일 을 열고 경로를 업데이트합니다. (먼저 TFS 등에서 솔루션을 체크 아웃해야 할 수도 있습니다.)
    • 프로젝트 다시로드 -마우스 오른쪽 단추 클릭> 프로젝트 다시로드.
    • 프로젝트의 표시 이름을 강조 표시하고를 누르 F2거나 마우스 오른쪽 버튼으로 클릭> 이름 바꾸기를 눌러 변경 합니다.

참고 : 프로젝트를 제거한 다음 솔루션에 다시 추가하는 것과 관련된 기타 제안 된 솔루션은 프로젝트 참조를 중단합니다.

이러한 단계를 수행하는 경우 일치하도록 다음 이름을 바꾸는 것도 고려할 수 있습니다.

  1. 어셈블리
  2. 기본 / 루트 네임 스페이스
  3. 기존 파일의 네임 스페이스 (Visual Studio의 리 팩터 도구 또는 ReSharper의 일관성없는 네임 스페이스 도구 사용)

또한 다음 어셈블리 속성 의 값을 수정하는 것이 좋습니다 .

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

* .sol, * csproj 파일을 사용하는 또 다른 방법이 있습니다.

  1. 솔루션 파일 열기
  2. 변경하려는 * .csproj를 검색하십시오.
  3. 다음과 같을 것입니다 (* .sol 파일 기준).

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. 예를 들어 첫 번째 부분을 새 디렉토리로 변경하십시오.

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. 물론 전체 프로젝트를 해당 디렉토리로 이동하는 것을 잊지 마십시오.

즐기세요.


이것은 VS 2015에서 간단합니다 (이전 버전에서 작동 할 수 있음).

  1. 솔루션 탐색기에서 마우스 오른쪽 버튼을 클릭하십시오. Main solution > Rename
  2. 솔루션 탐색기에서 마우스 오른쪽 버튼을 클릭하십시오. project (under solution) > Rename
  3. 솔루션 탐색기에서 더블 클릭하거나 마우스 오른쪽 버튼으로 클릭에서 Properties >고토 응용 프로그램 탭, 이름 바꾸기 Assembly nameDefault namespace일치 할 수 있습니다.
  4. 네임 스페이스의 이름도 변경하려면 클래스 파일 중 하나를 엽니 다. 마우스 오른쪽 버튼을 클릭 namespace > Rename...하면 프로젝트 전체에서 네임 스페이스에 대한 모든 참조를 검색하고 바꿉니다.
  5. 프로젝트를 닫고 project folder.
  6. .sln메모장에서 파일을 편집 하고 경로를 cjproj로 변경하십시오. fu\bar.csproj --> bar\bar.csproj

이봐, 내가 이걸로 고생 했나? 안타깝게도 Visual Studio에는 원 클릭 솔루션이 없지만 Visual Studio 2012를 실행 중이고 프로젝트가 Team Foundation Server로 소스 제어를받는 경우 소스 기록을 유지하면서 작업하는 방법은 다음과 같습니다.

(5-10 단계를 건너 뛸 수 있다는 점을 언급 했으므로 아래 @mjv의 설명을 반드시 읽어보십시오.)

  1. 보류중인 변경 사항이 없도록 모든 변경 사항을 체크인했는지 확인하십시오.
  2. 마우스 오른쪽 단추를 클릭하고 제거를 선택하여 솔루션에서 프로젝트를 제거하십시오 .
  3. 이제 Windows 탐색기에서 프로젝트 폴더의 이름을 바꿉니다.
  4. Visual Studio로 돌아가 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 추가 -> 기존 프로젝트를 선택합니다 . 2 단계에서 제거한 프로젝트의 프로젝트 파일을 선택합니다.이 파일은 이름이 바뀐 폴더에 있어야합니다.
  5. 이제 프로젝트가 솔루션으로 돌아 왔지만 프로젝트가 소스 제어에 추가되지 않은 것 같습니다. 이를 수정하려면 소스 제어 탐색기를 엽니 다.
  6. 소스 제어 탐색기에서 3 단계에서 이름을 바꾼 디스크의 프로젝트 폴더에 해당하는 프로젝트 폴더를 찾습니다.
  7. 소스 제어 탐색기에서 폴더 이름을 변경하여 디스크의 프로젝트 폴더와 같은 이름을 갖도록합니다.
  8. 이제 보류중인 변경 사항을 살펴보십시오. 솔루션 파일을 변경하고 프로젝트 폴더에 대한 이름 바꾸기 작업이 있어야합니다.
  9. 다시 빌드하고 모든 것이 올바르게 컴파일되는지 확인하십시오. 이름을 바꾼 프로젝트에 대한 프로젝트 간 참조가있는 경우이를 참조한 개별 프로젝트에 다시 추가해야합니다.
  10. 이제 모든 준비가 완료되었습니다. 가서 모든 것을 확인하십시오.

위의 가이드가 저에게 효과적이었습니다. 작동하지 않으면 로컬 솔루션을 완전히 삭제하고 작업 영역에서 폴더 매핑을 제거하십시오. 만일을 대비하여 Visual Studio를 다시 시작하십시오. 실제로 컴퓨터에서 전체 솔루션을 삭제했는지 확인하십시오. 이제 작업 공간에 대한 솔루션 매핑을 읽고 최신 버전을 얻으십시오. 이제 위의 단계를 시도하십시오. 위의 단계를 수행하는 동안 문제가 발생하는 경우에도 동일하게 적용됩니다. 로컬에서 솔루션을 삭제하고 최신 소스를 가져 오면 작업 할 수있는 깨끗한 상태가됩니다.

여전히 문제가있는 경우 위의 단계를 시도하기 전에 솔루션 파일에서 수동으로 아무것도 변경하지 않았는지 또는 다른 '트릭'을 시도하지 않았는지 확인하십시오. 무언가를 변경하고 체크인했다면 프로젝트 이름 변경을 시작하기 직전 지점으로 롤백하는 것을 고려할 수 있습니다.

물론 솔루션 탐색기에서 프로젝트 자체의 이름을 바꾸고 싶을 수도 있습니다. 위의 단계 이전에이 작업을 수행 할 수 있지만이 경우 위 단계를 적용하기 전에 변경 사항을 확인해야합니다. 나중에 수행 할 수도 있지만 먼저 위의 모든 단계를 수행하고 솔루션 탐색기에서 프로젝트 이름의 이름을 변경하기 전에 변경 사항을 확인하십시오. 위의 단계를 솔루션 탐색기에서 프로젝트 이름의 이름과 혼합하지 않는 것이 좋습니다. 그래도 작동 할 수도 있지만 2 개의 개별 변경 집합에서 수행하는 것이 좋습니다.


현재는 없습니다. 실제로 끊어진 프로젝트 노드를 클릭하고 속성 창에서 'Path'속성을 찾은 다음 작은 찾아보기 아이콘을 클릭하고 새 경로를 선택할 수 있습니다.

짜잔 :)


더 간단한 해결책은 다음과 같습니다.

  1. 프로젝트를 마우스 오른쪽 단추로 클릭하고 이름을 바꿉니다.
  2. (선택 사항) 프로젝트의 속성 설정을 열고 새 프로젝트 이름을 사용하도록 어셈블리 이름 (및 선택적으로 기본 네임 스페이스)을 수정합니다.
  3. (선택 사항) 소스 파일에서 네임 스페이스 이름을 선택하고 마우스 오른쪽 단추를 클릭 한 다음 Refactor \ Rename을 선택하여 네임 스페이스를 새 프로젝트 이름으로 전역 적으로 바꿉니다.
  4. (선택 사항) AssemblyInfo.cs 파일을 열고 일치하도록 어셈블리 이름을 변경합니다.
  5. 솔루션을 저장하고 닫습니다.
  6. Windows 탐색기를 사용하여 프로젝트 폴더의 이름을 새 이름으로 바꿉니다.
  7. 텍스트 편집기에서 SLN 파일을 열고 프로젝트 경로에 대한 하나의 참조를 찾은 다음 새 폴더 이름을 사용하도록 변경합니다.

필요한 4 단계가 있지만 7 단계를 권장합니다. 하루가 끝나면 프로젝트의 이름이 완전히 바뀝니다. 기술적으로 프로젝트의 폴더 이름은 프로젝트 자체와 일치 할 필요가 없으므로 해당 단계도 선택 사항이지만 일치하지 않으면 혼란 스러울 수 있습니다. 어셈블리 및 네임 스페이스 이름도 동일합니다.


andersjanmyr의 대답에서 먼저 프로젝트의 이름을 바꾸는 것이 더 쉽습니다.

  1. 프로젝트 이름을 바꿉니다.
  2. 솔루션을 닫습니다 (저장).
  3. Visual Studio 외부의 폴더 이름을 바꿉니다.
  4. 경고를 무시하고 솔루션을 엽니 다.
  5. 사용할 수없는 모든 프로젝트를 살펴보고 'File Path'속성을 프로젝트 파일의 새 위치 (예 : someproject.csproj)로 설정합니다.
  6. 프로젝트를 다시로드하십시오.

또한 이러한 단계를 수행 한 후 이전 프로젝트 이름에 대한 다른 참조의 이름을 바꿀 수 있습니다.

프로젝트 속성에서 어셈블리 이름 및 기본 네임 스페이스를 업데이트합니다. 그러면 프로젝트 파일에서 다음이 업데이트됩니다.

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

... 그리고 "네임 스페이스가 파일 위치와 일치하지 않습니다. 'SomeProjectName'이어야합니다."라는 오류가 제거됩니다.

루트 네임 스페이스의 이름을 변경합니다 (resharper가있는 경우 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 Refactor-> Rename으로 이동).

AssemblyInfo.cs에서 이전 프로젝트 이름의 모든 항목 변경


VS2017의 경우 내 Visual Studio 확장을 사용할 수 있습니다.

다운로드

다음에서 프로젝트 이름이 변경됩니다.

  • 프로젝트 위치 폴더
  • 솔루션 파일
  • 다른 프로젝트에서 참조
  • 어셈블리 이름, 정보
  • 기본 네임 스페이스

이 작업을 직접 수행해야했습니다 (VS2010 사용). 일부 사람들이 대답했듯이 가장 간단한 단계는 다음과 같습니다.

  1. VS 프로젝트를 닫습니다.
  2. .sln 파일을 열고 각 .csproj 발생에 대한 프로젝트 디렉토리 접두사 이름을 바꿉니다.
  3. .sln 파일 저장
  4. .sln 파일의 변경 사항과 일치하도록 하드 드라이브의 실제 프로젝트 폴더 디렉토리 이름을 바꿉니다.
  5. .sln (VS에서)을 열고 다시 빌드합니다.

링크 된 기사의 항목 3을 참조하십시오.

  1. 솔루션과 IDE를 닫습니다.
  2. 탐색기에서 : 디렉터리 이름을 새 이름으로 변경합니다.
  3. 탐색기에서 : 텍스트 편집기로 .sln 파일을 엽니 다.
  4. 디렉토리 이름을 새 이름으로 변경하고 저장하십시오.
  5. IDE를 다시 시작하고 자동으로 시작되지 않는 경우 파일, 최근 파일 메뉴에서 솔루션을 엽니 다.
  6. 솔루션 탐색기의 프로젝트 폴더를 클릭하고 하단 속성에서 경로 속성을 확인합니다. 이제 새 프로젝트 폴더를 참조합니다.

그것은 나를 위해 일했습니다.


비즈니스 인텔리전스 용 데이터 도구 (SSDT-BI 2013) 용 Visual Studio 확장을위한 검증 된 솔루션 :

  1. 프로젝트 폴더를 새 위치로 이동합니다 (아직 이름을 바꾸지 마십시오).
  2. 솔루션 탐색기에서 프로젝트 / 솔루션의 이름을 바꿉니다.
  3. 새로 이름이 바뀐 프로젝트를 닫고 저장하십시오.
  4. 프로젝트의 폴더와 .sln 파일의 이름을 바꿉니다.
  5. 텍스트 편집기를 사용하여 새로 이름이 바뀐 프로젝트 솔루션 파일 (.sln)을 엽니 다 (Notepad ++ 사용).
  6. 6 번 줄에는 "Project {fdjfksdjk4387! ...} ="OLDPROJECT ","OLDFOLDER \ OLDPROJECT.rptproj "가 표시됩니다. 4 단계에서 사용한 새 이름으로 모든 이름을 바꿉니다 (예 : ... ="NEWPROJECT). ","NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. 그게 다야!

100 % 테스트했고 제 케이스에서 완벽하게 작업했습니다.

참고 : Visual Studio 버전이 아닌 다른 프로젝트 템플릿에서 작동하는지 확인할 수 없습니다. 항상 그렇듯이 모든 것을 미리 백업하십시오.


Visual Studio + git을 사용하고 파일 기록을 유지하려는 경우 (프로젝트 및 / 또는 솔루션 이름 변경 작업) :

1) Visual Studio 닫기

2) .gitignore 파일에서 이름을 변경하려는 프로젝트의 모든 무시 경로를 해당 경로의 이름이 변경된 버전으로 복제합니다.

3) 다음과 같이 git move 명령을 사용하십시오.

git mv <old_folder_name> <new_folder_name>

추가 옵션은 문서를 참조하십시오 : https://git-scm.com/docs/git-mv

4) .sln 파일에서 : 프로젝트를 정의하는 줄을 찾아 경로에서 폴더 이름을 변경합니다. 라인은 다음과 같아야합니다.

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"

5) Visual Studio를 열고 프로젝트를 마우스 오른쪽 버튼으로 클릭-> 이름 바꾸기

6) 나중에 네임 스페이스의 이름을 바꿉니다. 나는 resharper에 이것에 대한 몇 가지 옵션이 있음을 읽었습니다. 그러나 간단한 찾기 / 바꾸기가 나를 위해 일했습니다.

7) 이전 .gitignore 경로 제거


@andersjanmyr의 솔루션 : Alt + Enter를 눌러 사용할 수없는 프로젝트에 대한 속성 페이지를 열고 거기에 "파일 경로"속성을 설정할 수 있습니다. 사용할 수없는 프로젝트 (VS2008)의 right-click_context-menu에서 사용할 수 없기 때문입니다.


이 모든 단계를 자동화하는 작은 도구를 작성했습니다. 현재 Subversion도 지원합니다.

현재 릴리스에 대한 정보는 여기에서 찾을 수 있습니다. Visual Studio 프로젝트 이름 바꾸기 정보

이제 Visual Studio 프로젝트 이름 바꾸기 다운로드 페이지 에서 최신 릴리스를 다운로드 할 수 있습니다.

피드백은 대단히 감사합니다.


이 질문에 대한 답변은 이미 받았지만이 문제를 해결하기위한 접근 방식을 공유하고 싶습니다. 나는 종종 VS에서 프로젝트 이름을 바꾸고 폴더 이름, 프로젝트 이름 및 .sln 파일을 편집하는 것과 같은 문제를 겪었습니다. 이 모든 것을 수행하는 VBScript를 방금 작성했습니다. 교체하기 위해 선택한 문자열에주의해야합니다.

편집 : 솔루션의 .sln 파일과 동일한 디렉터리에 .vbs 파일을 넣어야합니다.

'Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

'Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

'Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

'Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject

2017 년에 저에게 효과가 있었던 것은

  • 솔루션 VS 닫기
  • Renamed directory of projects in solution.
    • (push change in source control - git in my case)
  • edit sln file in text editor (outside VS2017) changing name of directory.
  • Reopen solution in VS

It said something like "re-adding project", I rebuilt everything and everything was good to go.


NOTE: This fix is for Visual Studio 2008, but should work here.

  1. Using Windows Explorer, rename both the solution folders (the parent folder and the child folder) to the new solution name.
  2. Delete the .sln file located in the parent folder.
  3. In Visual Studio, select File|Open Project.
  4. Drill into the new folder you just renamed and open the .csproj file (located in the child folder).
  5. Right-click the project name and rename it to what you want. (Should be the same name as the folder in step 1.)
  6. Select File|Close Solution. A dialog will ask if you want to save changes to the .sln file. Click Yes.
  7. In the Save File As dialog, point to the newly renamed PARENT folder and click save. (NOTE: Make sure the .sln file has the same name as the folder. Not required, but maintains consistency.)

DONE.


When using TFS step 2 is actually to rename the folder in source control and then get the latest before reopening the solution.


We recently uploaded a beta of an free VS extension which does this stuff for you. Have a look at VS Gallery: Gallery Download


Well I did it my way

  • Close Visual Studio 2012
  • Rename your subdirectory to prefered name under .sln
  • Delete *.suo file
  • Open solution again, fix any properties of Project(s) loaded to meet new subdirectory name

  1. Rename project in solution and the project folder

  2. Delete project from solution

  3. Add existing project to solution(your renamed project)

It works for me. TFS will also track new project.


Open .sln in a text file and in the following line change to your new folder name Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\.csproj", "{021CC6B0-8CFB-4194-A103-C19AF869D965}"


I've had to do this lots of times. It's really useful to be able to repurpose an existing project but be able to rename text in namespaces, files and folders. Using a recursive find and replace starting at the root folder means the rename doesn't break links to projects in the solution files and project references.

To this end I have created a project to do just this. The application also makes an effort to ignore version control folders such as .git, .svn and the .vs settings file. More info in the README.

https://github.com/garethrbrown/vs-project-rename

Example


After changing the folder name, open the .sln file in notepad and change the path to new path.


Similar issues arise when a new project has to be created, and you want a different project folder name than the project name.

When you create a new project, it gets stored at

./path/to/pro/ject/YourProject/YourProject.**proj

Let's assume you wanted to have it directly in the ject folder:

./path/to/pro/ject/YourProject.**proj

My workaround to accomplish this is to create the project with the last part of the path as its name, so that it doesn't create an additional directory:

./path/to/pro/ject/ject.**proj

When you now rename the project from within Visual Studio, you achieve the goal without having to leave VS:

./path/to/pro/ject/YourProject.**proj

The downside of this approach is that you have to adjust the default namespace and the name of the Output binary as well, and that you have to update namespaces in all files that are included within the project template.


I use VS 2013 and TFS 2013.

I did it like this:

  1. Open Visual Studio, without opening solution itself, and use Source Control Explorer to find and rename folders for projects
  2. Double-click solution file in Source Control Explorer to open a solution.
  3. You get a question: "Projects have recently been added to this solution. Do you want to get them from source control?", and you choose Yes
  4. Now the Folder and project structure are there, but now files, so now you Get Latest Version from source control
  5. Try to build and commit changes.

There's a simpler approach which was tested in VS 2013 Update 1 and applicable for TFS-connected projects:

  • Open VS but let the solution closed
  • Open Source Explorer and rename the desired folder (the solution will be closed for you if you didn't already close it first)
  • Right-Click on the solution (from Source Explorer also) and select check-in
  • Open the solution, you'll told that there're new projects added, accept to get the changes.
  • Remove the project from the solution and add it again, then check-in
  • Check that the internal references are OK

The simplest way is to go to the property of the window change name of default namespaces then the rename is done


1-Rename the project outside VS. 2-edit your_project_name.sln with a text editor, rename the path to the new path


I did the following:

  1. Rename the project from within vs2013. (optional/not needed)

  2. Export the project as a template.

  3. Close the solution.

  4. Reopen the solution

  5. Create a project from the saved template and use the name you like.

  6. Delete from the solution explorer the previous project.

In this point I tried to compile the new solution and to do so i had to manually copy some resources and headers to the new project folder from the old project folder. Do this until it compiles without errors. Now this new project saved the ".exe" file to the previous folder.*

So ->

  1. Go to windows explorer and manually copy the solution file from the old project folder to the new project folder.

  2. Close the solution, and open the solution from within the new project.

  3. Changed the configuration back to (x64) if needed.

  4. Delete the folder of the project with the old name from the folder of the solution.

참고URL : https://stackoverflow.com/questions/211241/how-to-rename-a-project-folder-from-within-visual-studio

반응형