Jak mogę zmienić nazwę folderu projektu z poziomu Visual Studio?


687

Moje obecne rozwiązanie zmiany nazwy folderu projektu to:

  • Usuń projekt z rozwiązania.
  • Zmień nazwę folderu poza Visual Studio.
  • Ponownie dodaj projekt do rozwiązania.

Czy jest lepszy sposób?


4
Nie ma prostego sposobu na zrobienie tego jednym kliknięciem. W każdym razie nie z Visual Studio.
Matt Hanson

11
Czy ktoś wie, czy Microsoft naprawi to w wersji 2010?
Vidar

29
Najwyraźniej nie, ponieważ minęły 3 lata i musiałem przejść przez proces andersjanmyr. :)
sichinumi

4
Żądanie funkcji programu Visual Studio: visualstudio.uservoice.com/forums/121579-visual-studio/... idź głosować!
Tim Abell

2
Najwyraźniej głosowanie nie powiodło się, ponieważ funkcja nadal nie jest obsługiwana w 2018 r. Ile gigabajtów potrzeba, aby nie zmienić pliku? Najwyraźniej 17 gbs. 17.
Joseph Franciscus

Odpowiedzi:


747

Użytkownicy TFS: Jeśli używasz kontroli źródła, która wymaga ostrzeżenia przed zmianą nazwy plików / folderów, spójrz na tę odpowiedź, która obejmuje dodatkowe wymagane kroki.


Aby zmienić nazwę folderu projektu , pliku ( .*proj) i nazwy wyświetlanej w Visual Studio:

  • Zamknij rozwiązanie.
  • Zmień nazwę folderów poza Visual Studio. (Zmień nazwę w TFS, jeśli używasz kontroli źródła)
  • Otwórz rozwiązanie, ignorując ostrzeżenia (odpowiedz „nie”, jeśli zostaniesz poproszony o załadowanie projektu z kontroli źródła).
  • Przejrzyj wszystkie niedostępne projekty i ...
    • Otwórz okno właściwości projektu (zaznacz projekt i naciśnij Alt+ Enterlub F4lub kliknij prawym przyciskiem myszy> właściwości).
    • Ustaw właściwość „ Ścieżka pliku ” na nową lokalizację.
      • Jeśli właściwości nie można edytować (jak w Visual Studio 2012), otwórz .slnplik bezpośrednio w innym edytorze, takim jak Notepad ++, i zamiast tego zaktualizuj ścieżki. (Być może trzeba będzie najpierw sprawdzić rozwiązanie w TFS itp.)
    • Przeładuj projekt - kliknij prawym przyciskiem myszy> przeładuj projekt.
    • Zmień nazwę wyświetlaną projektu, podświetlając ją i naciskając F2lub klikając prawym przyciskiem myszy> zmień nazwę .

Uwaga: inne sugerowane rozwiązania, które wymagają usunięcia, a następnie ponownego dodania projektu do rozwiązania, spowodują uszkodzenie referencji projektu.

Jeśli wykonasz te kroki, możesz również rozważyć zmianę nazwy następujących elementów w celu dopasowania:

  1. montaż
  2. Domyślna / główna przestrzeń nazw
  3. Nazw istniejących plików (użyj narzędzia byłaby w Visual Studio lub Resharper za niezgodny narzędzia przestrzeni nazw)

Rozważ także zmodyfikowanie wartości następujących atrybutów zestawu :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

24
Dla tych, którzy używają kontroli źródła, myślę, że musisz zmienić nazwę folderu w kontroli źródła. Dla mnie powyższe kroki tego nie zrobiły.
Patrick Szalapski,

10
Podczas korzystania z TFS krok 2 polega na zmianie nazwy folderu w kontroli źródła, a następnie uzyskaniu najnowszej wersji przed ponownym otwarciem sln.
Amy Patterson

3
Właściwość Ścieżka pliku staje się edytowalna w VS2010 po zmianie nazwy folderu (i VS nie może znaleźć projektu)
Jimmy

11
Nie działało to dla mnie w VS 2012; właściwość jest tylko do odczytu. Musiałem otworzyć plik .sln jako tekst.
Grault

3
Yikes! Wszystkie te kłopoty ze zmianą nazwy folderu! W MS-DOS było to łatwiejsze!
Kokodoko,

96

Można to zrobić na inny sposób, używając plików * .sol, * csproj.

  1. Otwórz plik rozwiązania.
  2. Wyszukaj * .csproj, który chcesz zmienić.
  3. Będzie tak (w stosunku do pliku * .sol):

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

  4. I po prostu zmień pierwszą część na nowy katalog, na przykład:

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

  5. Oczywiście nie zapomnij przenieść całego projektu do tego katalogu.


16
To działało dla mnie, a nie dla zaakceptowanej odpowiedzi, która nie działała, ponieważ właściwość FilePath była dla mnie tylko do odczytu.
TJKjaer,

1
dzięki, to bardzo pomogło. Pamiętaj również o zmianie wartości RootNamespace i AssemblyName.
DevDave

@TJKjaer Same.
dzenesiz

To nie działało dla mnie w VS2019. Ostrzega o nieistniejących referencjach projektu i kompiluje błędy dotyczące braku przestrzeni nazw i klas w projekcie, do którego istnieje odwołanie.
Jeff Walker Code Ranger

Działa to dla mnie w Visual Studio 2019 z projektami w języku C #. To dość proste rozwiązanie. Osobom, które mogą mieć problemy z kompilacją, zalecam pełne przebudowanie projektu zamiast kompilacji.
A Silva

95

Jest to proste w Visual Studio 2015 (prawdopodobnie działa w starszych wersjach)

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy Główne rozwiązanieZmień nazwę
  2. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt (w ramach rozwiązania) → Zmień nazwę
  3. W Eksploratorze rozwiązań kliknij dwukrotnie lub kliknij prawym przyciskiem myszy Właściwości → goto Karta aplikacji , zmień nazwę zestawu i domyślną przestrzeń nazw, aby dopasować.
  4. Jeśli chcesz również zmienić nazwę przestrzeni nazw, otwórz jeden ze swoich plików klas. Kliknij prawym przyciskiem nazw → Zmień nazwę ... . Powinno to wyszukać i zastąpić wszystkie odniesienia do Twojej przestrzeni nazw w całym projekcie.
  5. Zamknij projekt → zmień nazwę folderu projektu .
  6. Edytuj .slnplik w Notatniku i zmień ścieżkę do csproj, tj . fu\bar.csprojbar\bar.csproj.

3
Zapomniałeś zaktualizować referencje projektów w projektach zależnych (jeśli istnieją).
Steven Liekens,

1
@JohnPeters O ile mi wiadomo, ta odpowiedź nie była edytowana. Krok 5 opisuje zmianę nazwy folderu, więc wykonanie tych kroków rzeczywiście zmienia również nazwę folderu fizycznego.
Philip Stratford,

Pamiętaj, aby zastosować krok 4 do folderu podprojektu (był to dla mnie jedyny krok, aby krok 6 zadziałał).
Felipe Gutierrez,

54

Człowieku, walczyłem z tym. Niestety w programie Visual Studio nie ma rozwiązania jednym kliknięciem, ale jeśli korzystasz z programu Visual Studio 2012, a Twój projekt jest pod kontrolą źródła za pomocą Team Foundation Server , oto jak udało mi się go uruchomić, zachowując jednocześnie historię źródeł:

(Pamiętaj, aby przeczytać komentarz @ mjv poniżej, ponieważ zauważa, że ​​możesz pominąć krok 5-10)

  1. Upewnij się, że zaznaczyłeś wszystkie zmiany, więc nie masz żadnych oczekujących zmian.
  2. Usuń projekt z rozwiązania, klikając prawym przyciskiem myszy i wybierając opcję Usuń .
  3. Teraz w Eksploratorze Windows zmień nazwę folderu projektu.
  4. Wróć do programu Visual Studio, aw Eksploratorze rozwiązań kliknij prawym przyciskiem myszy rozwiązanie i wybierz Dodaj -> Istniejący projekt . Wybierz plik projektu usunięty w kroku 2, który powinien znajdować się w folderze o zmienionej nazwie.
  5. Teraz projekt wrócił do rozwiązania, ale wydaje się, że nie został dodany do kontroli źródła. Aby to naprawić, otwórz Eksploratora kontroli źródła.
  6. Znajdź folder projektu w Eksploratorze sterowania źródłami, który odpowiada folderowi projektu na dysku, którego nazwę zmieniono w kroku 3.
  7. Zmień nazwę folderu w Eksploratorze sterowania źródłami, aby miał taką samą nazwę jak folder projektu na dysku.
  8. Teraz spójrz na swoje oczekujące zmiany. Powinieneś wprowadzić zmiany w pliku rozwiązania i operacji zmiany nazwy w folderze projektu.
  9. Wykonaj przebudowę i upewnij się, że wszystko poprawnie się kompiluje. Jeśli masz odniesienia między projektami do projektu, którego nazwa została zmieniona, musisz dodać je ponownie do poszczególnych projektów, które się do niego odwoływały.
  10. Powinieneś już być gotowy. Idź i sprawdź wszystko.

Powyższy przewodnik działał dla mnie. Jeśli to nie działa, spróbuj całkowicie usunąć lokalne rozwiązanie i usuń mapowanie folderów w obszarze roboczym. Na wszelki wypadek uruchom ponownie Visual Studio. Upewnij się, że faktycznie usunąłeś całe rozwiązanie z komputera. Teraz przeczytałem mapowanie rozwiązania do obszaru roboczego i pobierz najnowszą wersję. Teraz wypróbuj powyższe kroki. To samo dotyczy sytuacji, gdy coś pójdzie nie tak podczas wykonywania powyższych kroków. Po prostu usuń swoje rozwiązanie lokalnie i uzyskaj najnowsze źródło, a będziesz mieć czyste konto do pracy.

Jeśli nadal masz problemy, upewnij się, że nic nie zmieniłeś ręcznie w pliku rozwiązania lub nie wypróbowałeś innych „sztuczek” przed wypróbowaniem powyższych kroków. Jeśli coś zmieniłeś i zalogowałeś się, możesz rozważyć wycofanie zmian do tego momentu, zanim zaczniesz zadzierać ze zmianą nazwy projektu.

Oczywiście chciałbyś również zmienić nazwę samego projektu w Eksploratorze rozwiązań. Możesz to zrobić przed powyższymi krokami, ale w takim przypadku upewnij się, że wprowadziłeś tę zmianę przed zastosowaniem powyższych kroków. Możesz to zrobić później, ale najpierw wykonaj wszystkie powyższe kroki i sprawdź zmiany, zanim spróbujesz zmienić nazwę projektu w Eksploratorze rozwiązań. Nie polecam próbować mieszać powyższych kroków ze zmianą nazwy projektu w Eksploratorze rozwiązań. Może to działać, ale polecam zrobienie tego w 2 osobnych zestawach zmian.


10
Dziękujemy za wprowadzenie procedury, która działa VS2012! Pamiętaj, że możesz uniknąć kroków 5-10 (tj. Konieczności przywracania folderów o zmienionych nazwach w ramach kontroli źródła), jeśli zamiast tego zamkniesz rozwiązanie, a następnie zmienisz nazwę folderów VS' Source Control Explorerzamiast Windows Explorer.
mjv

2
Kroki te były blisko, ale zmieniając lokalizację folderu z Eksploratora Windows (my) przed zmianą nazwy na źródło sterowania Explorer (SCE) spowodował błąd: Folder already exists. Musiałem więc zmienić nazwę folderu ponownie, WEnastępnie zmienić go SCE, a następnie skopiować pliki do tego folderu, zanim zadziała. Postępuj zgodnie z powyższym komentarzem mjv. Nie pomyślałem też o konieczności zmiany rzeczywistych nazw plików projektu (nie tylko w VS), co zrobiłem później, zmuszając mnie do powtórzenia niektórych z tych kroków.
CaptainBli

To podejście z komentarzem mjv działa również w Perforce z opcją kliknięcia prawym przyciskiem myszy, Zmień nazwę / Przenieś.
Santos

Możesz uniknąć łamania odniesień do projektu, patrz stackoverflow.com/a/10853509/10245
Tim Abell

@TimAbell Czy próbowałeś tej procedury w VS2012 i czy zadziałała ona dla Ciebie? Zanim napisałem swoją odpowiedź, próbowałem tego, ale nie działało to dla mnie, ponieważ ścieżka projektu w oknie Właściwości była zawsze tylko do odczytu. I nie działało też edytowanie pliku SLN.
René

33

Obecnie nie. Właściwie możesz kliknąć zepsuty węzeł projektu, a następnie w panelu właściwości poszukać właściwości „Ścieżka”, kliknąć małą ikonę przeglądania i wybrać nową ścieżkę.

Voilà :)


2
W przypadku VS2015 nazwą właściwości „Unloaded Project Properties” jest „ścieżka pliku”, a wartości tej nie można edytować ani przeglądać.
William

29

Prostsze rozwiązanie jest następujące:

  1. Kliknij projekt prawym przyciskiem myszy i zmień jego nazwę.
  2. (opcjonalnie) Otwórz ustawienia właściwości projektu i zmodyfikuj nazwę zestawu (i opcjonalnie domyślną przestrzeń nazw), aby użyć nowej nazwy projektu.
  3. (opcjonalnie) Wybierz nazwę przestrzeni nazw w pliku źródłowym, kliknij prawym przyciskiem myszy i wybierz Refaktoryzuj / Zmień nazwę, aby globalnie zmienić nazwę przestrzeni nazw na nową nazwę projektu.
  4. (opcjonalnie) Otwórz plik AssemblyInfo.cs i zmień nazwę zestawu, aby dopasować.
  5. Zapisz i zamknij rozwiązanie.
  6. Za pomocą Eksploratora Windows zmień nazwę folderu projektu na nową nazwę.
  7. Otwórz plik SLN w edytorze tekstu i znajdź jedno odniesienie do ścieżki projektu i zmień go, aby używał nowej nazwy folderu.

Potrzebne są cztery kroki, ale zalecane siedem. Pod koniec dnia nazwa projektu została całkowicie przemianowana. Technicznie nazwa folderu projektu nie musi odpowiadać samemu projektowi, więc nawet ten krok jest opcjonalny, ale może być mylący, jeśli się nie zgadza. To samo dotyczy nazw zespołów i przestrzeni nazw.


Alternatywny krok 7: Otwórz plik SLN za pomocą VS, zignoruj ​​ostrzeżenia (kliknij „OK”), wybierz projekt (y) w Solution Explorer, naciśnij F4, zaktualizuj ścieżkę pliku. Opcjonalny Krok 0: Kliknij prawym przyciskiem myszy rozwiązanie i zmień jego nazwę.
Martin Schneider,

7
Niewiarygodne, jak trudne są niektóre rzeczy Microsoft
Alex

1
To działało dla mnie w Visual Studio Community 2017. Akceptowana odpowiedź nie działała (dla mnie); właściwość, która wymagała zmiany, jest dla mnie tylko do odczytu i nie można jej zmienić w oknie dialogowym właściwości.
codingatty

10

W odpowiedzi andersjanmyr łatwiej jest najpierw zmienić nazwę projektu.

  1. Zmień nazwę projektu.
  2. Zamknij rozwiązanie (zapisz).
  3. Zmień nazwę folderów poza Visual Studio.
  4. Otwórz rozwiązanie, ignorując ostrzeżenia.
  5. Przejrzyj wszystkie niedostępne projekty i ustaw właściwość „Ścieżka pliku” na nową lokalizację pliku projektu, tj . Someproject.csproj .
  6. Załaduj ponownie projekt.

Ponadto po wykonaniu tych kroków możesz zmienić nazwy innych odniesień do starej nazwy projektu.

We właściwościach projektu zaktualizuj nazwę zespołu i domyślną przestrzeń nazw.

Spowoduje to zaktualizowanie następujących elementów w pliku projektu ...

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

... i pozbędzie się błędu „Przestrzeń nazw nie odpowiada lokalizacji pliku, powinna brzmieć:„ SomeProjectName ””

Zmień nazwę głównej przestrzeni nazw (jeśli masz ReSharper kliknij prawym przyciskiem myszy przestrzeń nazw i przejdź do Refaktoryzacja -> Zmień nazwę).

Zmień wszystkie wystąpienia swojej starej nazwy projektu w AssemblyInfo.cs .


Opierając się na tej odpowiedzi, możesz ręcznie edytować plik rozwiązania, aby ścieżka do projektu była nową ścieżką i unikać ostrzeżeń podczas otwierania rozwiązania. Prawdopodobnie możesz kliknąć Projekt> Właściwości> AssemblyInfo, aby edytować informacje o złożeniu z poziomu VS i uniknąć edytowania pliku AssemblyInfo.cs.
H2ONaCl

8

W przypadku Visual Studio 2017 możesz użyć mojego rozszerzenia Visual Studio:

Pobieranie

Zmieni nazwę projektu w:

  • Folder lokalizacji projektu
  • Plik rozwiązania
  • Referencje w innych projektach
  • Nazwa zestawu, informacje
  • Domyślna przestrzeń nazw

niesamowite! zmęczony wszystkimi ręcznymi zmianami nazw, które musiałem robić w przeszłości. Działa dobrze. Nie znaleziono odnośnika do ciągu w innym pakiecie. Nie jestem pewien, czy jest to celowe.
frostymarvellous 17.07.17

dzięki. ale nie rozumiem, co następuje: „odwołanie do ciągu w innym pakiecie”. Możesz to wyjaśnić?
Kuanysh

Mam więc projekt testowy i tak też mam [assembly: InternalsVisibleTo("MyTests")]. Kiedy zmieniłem nazwę MyTests, nie zmieniłem nazwy tego odwołania. Ponownie, nie sądzę, że należy to do twoich kompetencji i można to rozwiązać ręcznie.
frostymarvelous

1
To rozszerzenie zakłada, że ​​folder ma obecnie taką samą nazwę jak projekt (przed zmianą nazwy). Jeśli się różnią, zmiana nazwy kończy się niepowodzeniem :( Nie udało mi się również uruchomić „Zmień nazwy przestrzeni nazw”. Na szczęście użyłem go tylko w dość małych rozwiązaniach. W przeciwnym razie świetnie!
savehansson

1
@MassimilianoKraus Ustawiam rozszerzenie jako prywatne, z powodu ostatnich negatywnych recenzji bez wyjaśnień na rynku. Przepraszam za to. Zaktualizowałem link
Kuanysh

6

Musiałem to zrobić sam (za pomocą programu Visual Studio 2010). Jak odpowiedzieli niektórzy ludzie, najprostszym krokiem wydaje się być:

  1. Zamknij projekt Visual Studio.
  2. Otwórz plik .sln i zmień nazwę prefiksu katalogu projektu dla każdego wystąpienia .csproj.
  3. Zapisz plik .sln
  4. Zmień nazwę aktualnego katalogu folderu projektu na dysku twardym, aby dopasować go do zmian w pliku .sln.
  5. Otwórz plik .sln (w programie Visual Studio) i przebuduj

5

Dla tych, którzy używają Visual Studio + Git i chcą zachować historię plików (zmiana nazwy projektów i / lub rozwiązań):

  1. Zamknij Visual Studio

  2. W pliku .gitignore zduplikuj wszystkie ścieżki ignorowania projektu, którego nazwę chcesz zmienić, używając wersji tych ścieżek o zmienionych nazwach.

  3. Użyj polecenia Git move w następujący sposób:

    git mv <old_folder_name> <new_folder_name>
    

    Aby uzyskać dodatkowe opcje, zobacz dokumentację: https://git-scm.com/docs/git-mv

  4. W pliku .sln: znajdź wiersz definiujący projekt i zmień nazwę folderu na ścieżce. Linia powinna wyglądać mniej więcej tak:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Otwórz Visual Studio i kliknij prawym przyciskiem myszy projekt → Zmień nazwę

  6. Następnie zmień nazwę przestrzeni nazw.

    Przeczytałem to ReSharper ma na to kilka opcji. Ale proste znajdowanie / zamiana wykonało dla mnie pracę.

  7. Usuń stare ścieżki .gitignore.


4

Zobacz punkt 3 w powiązanym artykule .


  1. Zamknij rozwiązanie i IDE.
  2. W Eksploratorze Windows: zmień nazwę katalogu na nową.
  3. W Eksploratorze Windows: Otwórz plik .sln w edytorze tekstu.
  4. Zmień nazwę katalogu na nową i zapisz.
  5. Uruchom ponownie IDE i otwórz rozwiązanie z menu Plik → menu Ostatnie pliki, jeśli nie uruchomi się automatycznie.
  6. Kliknij folder projektu w Eksploratorze rozwiązań i sprawdź właściwość ścieżki we właściwościach na dole. Będzie teraz odwoływał się do nowego folderu projektu.

To zadziałało dla mnie.


4

Co działało dla mnie w Visual Studio 2017:

  • Zamknij rozwiązanie w Visual Studio
  • Zmień nazwy katalogów projektów w rozwiązaniu.
    • (push zmiana w kontroli źródła - w moim przypadku Git)
  • Edytuj plik .sln w edytorze tekstu (poza Visual Studio 2017), zmieniając nazwę katalogu.
  • Otwórz ponownie rozwiązanie w Visual Studio

Mówi coś w stylu „ ponowne dodawanie projektu ”. Odbudowałem wszystko i wszystko było dobrze.


1
Ponadto może być konieczne usunięcie starego projektu z zależności innych projektów i ponowne dodanie nowego projektu o nowej nazwie jako nowej zależności (kliknij prawym przyciskiem myszy stary projekt >> Usuń, a następnie kliknij prawym przyciskiem myszy Dependencies>> Add reference>> Wybierz nowy projekt )
maxshuty

4

Musiałem to robić wiele razy. Naprawdę przydatna jest możliwość zmiany przeznaczenia istniejącego projektu, ale możliwość zmiany nazwy tekstu w przestrzeniach nazw, plikach i folderach (w tym nazw plików / katalogów).

Użycie rekurencyjnego wyszukiwania i zamiany zaczynając od folderu głównego oznacza, że ​​zmiana nazwy nie powoduje przerwania łączy do projektów w plikach rozwiązania i odwołaniach do projektów.

W tym celu stworzyłem projekt, aby to zrobić. Aplikacja stara się również ignorować foldery kontroli wersji, takie jak .git, .svn i plik ustawień .vs. Więcej informacji znajduje się w pliku README.

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

Przykład


2
Dobra robota! Twój projekt jest tak naprawdę narzędziem do zmiany nazwy. Myślę, że naprawdę brakuje jednej rzeczy: opcja dopasowania całego słowa.
Eliahu Aaron,

4

Sprawdzone rozwiązanie dla rozszerzenia Visual Studio dla Data Tools for Business Intelligence (SSDT-BI 2013):

  1. Przenieś folder Project do nowej lokalizacji (nie zmieniaj jeszcze niczego)
  2. W Eksploratorze rozwiązań zmień nazwę projektu / rozwiązania.
  3. Zamknij (i zapisz) projekt o nowej nazwie.
  4. Zmień nazwę folderu projektu i pliku .sln.
  5. Użyj edytora tekstu i otwórz plik rozwiązania projektu o nowej nazwie (.sln) (użyłem Notepad ++ )
  6. W wierszu nr 6 zobaczysz: „Projekt {fdjfksdjk4387! ...} =" OLDPROJECT ",„ OLDFOLDER \ OLDPROJECT.rptproj ". Zmień nazwę wszystkiego, używając nowych nazw użytych w kroku 4. (tj. ... =" NEWPROJECT ”,„ NEWFOLDER \ NEWPROJECT.rptproj ”...)
  7. Otóż ​​to!

Został przetestowany w 100% i działał bezbłędnie w moim przypadku.

UWAGA: Nie mogę potwierdzić, czy działa w ramach różnych szablonów projektów i innych wersji programu Visual Studio. Jak zawsze wykonaj kopię zapasową wszystkiego wcześniej.



2

Często miałem ten sam problem ze zmianą nazwy projektu w Visual Studio i edytowaniem nazwy folderu, nazwy projektu i pliku .sln, aby to osiągnąć. Właśnie napisałem VBScript skrypt który to wszystko spełnia. Musisz uważać na łańcuchy, które wybierasz do zamiany.

Musisz tylko umieścić plik .vbs w tym samym katalogu, co plik .sln rozwiązania.

' 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

1

Uwaga : Ta poprawka dotyczy programu Visual Studio 2008, ale powinna działać tutaj.

  1. Za pomocą Eksploratora Windows zmień nazwę obu folderów rozwiązania (folder nadrzędny i folder podrzędny) na nową nazwę rozwiązania.
  2. Usuń .slnplik znajdujący się w folderze nadrzędnym.
  3. W Visual Studio wybierz menu PlikOtwórz projekt .
  4. Przejdź do nowego folderu, którego nazwę właśnie zmieniłeś, i otwórz plik .csproj (znajdujący się w folderze podrzędnym).
  5. Kliknij nazwę projektu prawym przyciskiem myszy i zmień nazwę na żądaną. (Powinna mieć taką samą nazwę jak folder w kroku 1.)
  6. Wybierz menu PlikZamknij Rozwiązanie . W oknie dialogowym pojawi się pytanie, czy chcesz zapisać zmiany w .slnpliku. Kliknij Yes.
  7. W oknie dialogowym Zapisz plik jako wskaż folder nadrzędny o nowej nazwie i kliknij przycisk Zapisz . (Uwaga: upewnij się, że .slnplik ma taką samą nazwę jak folder. Nie jest wymagany, ale zachowuje spójność).

Gotowy.


1

Podczas korzystania z TFS krok 2 polega na zmianie nazwy folderu w kontroli źródła, a następnie uzyskaniu najnowszej wersji przed ponownym otwarciem rozwiązania.



1

Zrobiłem to po swojemu

  • Zamknij Visual Studio 2012
  • Zmień nazwę podkatalogu na preferowaną nazwę w .sln
  • Usuń plik * .suo
  • Ponownie otwórz rozwiązanie i napraw wszelkie właściwości projektu (ów) załadowane, aby odpowiadały nowej nazwie podkatalogu

1
  1. Zmień nazwę projektu w rozwiązaniu i folderze projektu

  2. Usuń projekt z rozwiązania

  3. Dodaj istniejący projekt do rozwiązania (projekt o zmienionej nazwie)

Mi to pasuje. TFS będzie również śledzić nowy projekt.


1

Otwórz plik .sln w edytorze tekstu i w następującej linii zmień nazwę <FolderName> na nazwę nowego folderu Project („{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”) = „Ricky”, „\ .csproj”, „ {021CC6B0-8CFB-4194-A103-C19AF869D965} ”


3
Wyjaśnij, dlaczego / jak to działa.
Simon.SA

1

Przejdź do pliku .sln, kliknij prawym przyciskiem myszy, otwórz za pomocą Notepad ++ (lub dowolnego edytora; Notepad ++ jest najszybszy), znajdź ścieżkę, zmień ją.



0

Podobne problemy pojawiają się, gdy trzeba utworzyć nowy projekt i potrzebujesz innej nazwy folderu projektu niż nazwa projektu.

Po utworzeniu nowego projektu zostanie on zapisany pod adresem

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

Załóżmy, że chcesz mieć go bezpośrednio w jectfolderze:

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

Moje obejście tego problemu polega na utworzeniu projektu z ostatnią częścią ścieżki jako jego nazwą, aby nie tworzył dodatkowego katalogu:

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

Gdy teraz zmienisz nazwę projektu w Visual Studio, osiągniesz cel bez wychodzenia z Visual Studio:

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

Wadą tego podejścia jest to, że musisz dostosować domyślną przestrzeń nazw i nazwę pliku binarnego Output oraz że musisz zaktualizować przestrzenie nazw we wszystkich plikach zawartych w szablonie projektu.


0

Używam Visual Studio 2013 i TFS 2013.

Zrobiłem tak:

  1. Otwórz program Visual Studio bez otwierania samego rozwiązania i użyj Eksploratora kontroli źródeł, aby znaleźć foldery projektów i zmienić ich nazwy
  2. Kliknij dwukrotnie plik rozwiązania w Eksploratorze sterowania źródłami, aby otworzyć rozwiązanie.
  3. Pojawia się pytanie: „Do tego rozwiązania dodano niedawno projekty. Czy chcesz uzyskać je z kontroli źródła?” i ty wybierasz Yes.
  4. Teraz jest tam folder i struktura projektu, ale teraz pliki, więc teraz masz najnowszą wersję z kontroli źródła
  5. Spróbuj budować i zatwierdzać zmiany.

więc nie ma eksploratora Windows. Na koniec możesz usunąć wszystkie lokalne pliki i uzyskać cały (czysty) projekt z kontroli źródła.
Muris,

Właśnie dowiedziałem się, że jest również możliwe, ze względu na przestawienie folderów, że plik rozwiązania tworzy pusty folder, w którym przechowywany był jakiś projekt. Następnie otwórz plik rozwiązania w notatniku i określi liczbę właściwości SccNumberOfProjects według liczby utworzonych pustych katalogów i usuń odpowiednie SccProjectUniqueName #, SccProjectName #, SccLocalPath # i inne właściwości o tym samym #.
Muris,

0

Istnieje prostsze podejście, które zostało przetestowane w Visual Studio 2013 Update 1 i ma zastosowanie do projektów połączonych z TFS:

  • Otwórz Visual Studio, ale pozwól, aby rozwiązanie zostało zamknięte.
  • Otwórz Eksplorator źródła i zmień nazwę żądanego folderu (rozwiązanie zostanie dla ciebie zamknięte, jeśli nie zostało wcześniej zamknięte).
  • Kliknij rozwiązanie prawym przyciskiem myszy ( również w Eksploratorze źródeł ) i wybierz opcję zameldowania.
  • Otwórz rozwiązanie. Dowiesz się, że dodano nowe projekty. Zaakceptuj, aby uzyskać zmiany.
  • Usuń projekt z rozwiązania i dodaj go ponownie, a następnie zamelduj się.
  • Sprawdź, czy wewnętrzne odniesienia są w porządku.

0

Najprostszym sposobem jest przejście do właściwości okna, zmiana nazwy domyślnych przestrzeni nazw, a następnie zmiana nazwy jest wykonywana.


O jakim oknie mówisz? Czy masz na myśli okno właściwości projektu?
Peter Mortensen

0
  1. Zmień nazwę projektu poza Visual Studio.
  2. Zmodyfikuj swoją nazwę_projektu.sln za pomocą edytora tekstu i zmień nazwę ścieżki na nową ścieżkę.

1
To wydaje się podobne do obecnego rozwiązania i nieco trudniejsze.
bowlturner,

0

Zrobiłem następujące:

<Utwórz kopię zapasową całego folderu>

  1. Zmień nazwę projektu z poziomu Visual Studio 2013 (opcjonalnie / niepotrzebnie).

  2. Wyeksportuj projekt jako szablon.

  3. Zamknij rozwiązanie.

  4. Otwórz ponownie rozwiązanie

  5. Utwórz projekt z zapisanego szablonu i użyj nazwy, którą lubisz.

  6. Usuń z eksploratora rozwiązań poprzedniego projektu.

W tym momencie próbowałem skompilować nowe rozwiązanie i aby to zrobić, musiałem ręcznie skopiować niektóre zasoby i nagłówki do nowego folderu projektu ze starego folderu projektu. Zrób to, dopóki nie skompiluje się bez błędów. Teraz ten nowy projekt zapisał plik .exe” w poprzednim folderze. *

Więc ->

  1. Przejdź do Eksploratora Windows i ręcznie skopiuj plik rozwiązania ze starego folderu projektu do nowego folderu projektu.

  2. Zamknij rozwiązanie i otwórz rozwiązanie z poziomu nowego projektu.

  3. W razie potrzeby zmieniono konfigurację z powrotem na (x64).

  4. Usuń folder projektu o starej nazwie z folderu rozwiązania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.