2009-10-11 22 views
32

W końcu doszedłem do wniosku, że Visual Studio śledzi sposób tworzenia projektu (innymi słowy, który szablon projektu wybierzesz początkowo) i filtruje opcje później w oparciu o tę początkową decyzję. Informacje przechowywane są w pliku * .csproj jako element <ProjectTypeGuids>.Jak zmienić typ projektu Visual Studio?

Poza samą edycją pliku * .csproj, czy istnieje "właściwy" sposób zmiany typu projektu dla istniejącego projektu?

Biorąc pod uwagę znaczenie tego ustawienia, wydaje się prawdopodobne, że w GUI jest miejsce na jego zmianę, ale nie mogłem go znaleźć. Dzięki!

Odpowiedz

6

Dlaczego chcesz to zmienić?

Chciałbym po prostu dodać inny projekt do rozwiązania z tym, który chcesz, przenieść pliki, a następnie usunąć oryginalny projekt.

+4

Kliknij prawym przyciskiem myszy na projekt i wywołać menu „Dodaj”. Jakie masz wybory? Jeśli nie utworzysz projektu przy użyciu jednego z szablonów WPF, nie będziesz miał opcji "Kontrola użytkownika" lub "Słownik zasobów" jako opcji. Jeśli nie zacząłeś jako projekt WPF, nie będziesz miał nawet "Słownik zasobów" jako opcji w "Nowym elemencie ...". Zrobiłem shuffle, który opisałeś, że to jest ból, jeśli jest dużo przedmiotów i wszystko jest pod kontrolą wersji. Wszystko to po prostu zmienić rodzaj projektu wydaje się głupie. –

+6

@Scott: To może wydawać się nieco głupie, ale może istnieć coś więcej niż "GUIDID" w właściwości . Ponieważ sam plik projektu jest zdefiniowany przez szablon używany podczas tworzenia projektu, możesz (i powinieneś!) Znaleźć inne różnice, takie jak różne pliki .targets i tym podobne. Jeśli nie chcesz wykonywać shuffle, powinieneś przynajmniej utworzyć pusty projekt typu, który chcesz i zmienić plik projektu na pusty projekt typu, który masz. Oprócz , wprowadź również inne istotne zmiany. – JaredReisinger

+0

Tworzenie nowego projektu jest dobre. ale jeśli chcesz nadać nowemu projektowi tę samą nazwę, będziesz miał problemy. tutaj jest łatwa naprawa, kliknij prawym przyciskiem myszy na projekcie i wybierz "wyładuj projekt", a następnie "usuń", następnie kliknij prawym przyciskiem myszy rozwiązanie i wybierz "Otwórz folder w Eksploratorze plików", a następnie znajdź swój folder projektu i zmień nazwę na coś innego. utwórz nowy projekt z nazwą, którą chcesz i skopiuj istniejące tam elementy. aby dodać istniejące pliki do nowego projektu możesz dodać istniejący element (shift + alt + A). –

17

Mała korekcja: Visual Studio nie śledzi szablonu projektu używanego do tworzenia projektu. System projektowy jest w dużej mierze nieświadomy początkowego szablonu używanego w projekcie. W systemie projektu znajduje się kilka elementów (np. Typ projektu), które mają taką samą nazwę jak określone szablony, ale jest to przypadek i nie zostały ostatecznie skorygowane.

Jedyną rzeczą, która naprawdę może zostać zmieniona pod względem typu projektu, jest zasadniczo typ pliku wyjściowego. Może to mieć wartość Biblioteki klas, aplikacji konsolowej i aplikacji systemu Windows. Możesz to zmienić, przechodząc do strony właściwości projektu (kliknij prawym przyciskiem myszy Właściwości) i zmień pole kombi Typ wyjściowy.

Możliwe jest posiadanie innych typów projektów obsługiwanych przez system projektu, ale jest ich niewiele i nie są definitywnie powiązane z szablonem projektu.

+8

Masz rację, że VS nie pamięta, który konkretny szablon został użyty do stworzenia projektu, ale absolutnie klasyfikuje projekt jako szczególny rodzaj na podstawie informacji zawartych w tym szablonie i najwyraźniej nie ma interfejsu, który mógłby go naprawić po utworzeniu. Zobacz mój komentarz do Daniela powyżej, aby zobaczyć przykład skutków tego wyboru. Kiedy napisałem swoje oryginalne pytanie, wspomniałem element XML o przechowywanych w nim danych, ale widzę, że system StackOverflow usunął go. Zmienię go z powrotem, ale jest to element <ProjectTypeGuids> w pliku * .csproj, który przechowuje typ projektu. –

+0

@JaredPar - Dzięki, od dawna zastanawiałem się, jak to zrobić, a rozwiązanie dla mnie zadziałało! –

Powiązane problemy