Projekt Visual Studio a rozwiązanie

Będąc nowym W VS, Jak mogę myśleć o tych dwóch pojęciach, jaka jest różnica?

Author: Grant Winney, 2010-03-05

10 answers

Rozwiązanie jest kontenerem dla projektów i śledzi zależności między projektami.

 57
Author: pzr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-05 19:08:41

Znajduję brakujące informacje w innych odpowiedziach (przynajmniej dla osób, które pochodzą z innych Idów, takich jak, powiedzmy, Eclipse). Powiedzieć, że rozwiązanie jest kontenerem dla projektów to tylko część rzeczy. Cechą koncepcyjną projektu VS (co decyduje o jego "ziarnistości") jest to, że jeden projekt wytwarza jedno wyjście : zazwyczaj plik wykonywalny lub biblioteka (dll). Tak więc, jeśli zamierzasz zakodować trzy pliki wykonywalne, które używają powiązanego kodu, stworzysz jedno rozwiązanie i co najmniej trzy projekty-prawdopodobnie więcej.

 107
Author: leonbloy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-30 20:16:14

Żeby wymyślić metaforę..

Rozwiązanie jest jak dom, projekt jak pokój. Każdy pokój zapewnia pewną funkcjonalność, podczas gdy dom, pojemnik pomieszczeń, zapewnia środki do połączenia pomieszczeń i odpowiedniego ich zorganizowania.

Trochę banalne, ale zmyśliłam to w locie, więc bądź ze mną:)

 32
Author: Cody C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-05 19:11:46

To nie pomaga, że Visual Studio wydaje się robić rzeczy bardziej mylące. "Nowy projekt" faktycznie tworzy nowe rozwiązanie zawierające projekt. "Open Project" faktycznie otwiera rozwiązanie zawierające jeden (lub wiele) projekt. (Menu Plik mówi "Otwórz projekt/rozwiązanie", ale tak naprawdę otwiera rozwiązania. Nie ma "Close Project" tylko "Close Solution", które jest dokładne.

Więc w VS zawsze pracujesz w ramach rozwiązania. Wiele rozwiązań zawiera tylko jeden projekt, a nowszymi programistami są pewnie pomyślą o nich jako o tym samym. Możesz jednak dodać inne projekty do rozwiązania.

 19
Author: Chryses,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-17 15:50:16

Rozwiązanie może mieć wiele projektów.

Rozwiązanie może również obsługiwać zarządzanie zależnościami między różnymi projektami...upewnienie się, że każdy projekt zostanie zbudowany w odpowiedniej kolejności, aby ostateczne rozwiązanie działało.

 5
Author: Justin Niessner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-05 19:08:24

Projekt zawiera pliki wykonywalne i biblioteki, które składają się na aplikację lub składnik aplikacji.

Rozwiązanie jest elementem zastępczym dla logicznie powiązanych projektów, które składają się na aplikację. Na przykład możesz mieć oddzielne projekty dla interfejsu graficznego aplikacji, warstwy dostępu do bazy danych i tak dalej. Projekty byłyby specyficznymi podziałami dla funkcjonalności Twojego programu, a rozwiązaniem byłby parasol jednoczący wszystkie z nich w ramach jednej aplikacji.

 3
Author: David,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-28 20:11:51

W przypadku, gdy ktoś zdecyduje się przewinąć w dół tak daleko...Myślałem, że MS docs spisał się całkiem nieźle w opisywaniu różnic. Skopiowałem wklejony tu odpowiedni bit:

Kiedy tworzysz aplikację, aplikację, stronę internetową, aplikację internetową, skrypt, wtyczkę itp. w Visual Studio, zaczynasz od projektu. W sensie logicznym, projekt zawiera wszystkie pliki kodu źródłowego, ikony, obrazy, pliki danych i wszystko, co zostanie skompilowane w programie wykonywalnym lub stronie internetowej, lub jest potrzebne do wykonania kompilacji. Projekt zawiera również wszystkie ustawienia kompilatora i inne pliki konfiguracyjne, które mogą być potrzebne przez różne usługi lub komponenty, z którymi program będzie się komunikować. Uwaga

Jeśli nie chcesz, nie masz żadnych rozwiązań ani projektów. Możesz po prostu otworzyć pliki w Visual Studio i rozpocząć edycję kodu.

W dosłownym znaczeniu projekt jest plikiem XML (.vbproj,csproj,*.vcxproj), który definiuje wirtualny folder hierarchia wraz ze ścieżkami do wszystkich elementów, które "zawiera" i wszystkich ustawień budowania. W programie Visual Studio Plik projektu jest używany przez Eksploratora rozwiązań do wyświetlania zawartości i ustawień projektu. Podczas kompilacji projektu silnik MSBuild zużywa plik projektu, aby utworzyć plik wykonywalny. Możesz również dostosować projekty do innych rodzajów danych wyjściowych.

Projekt jest zawarty, w sensie logicznym i w systemie plików, w rozwiązaniu, które może zawierać jeden lub więcej projekty, wraz z informacjami o kompilacji, ustawieniami okna programu Visual Studio i wszelkimi innymi plikami, które nie są powiązane z żadnym projektem. W dosłownym znaczeniu rozwiązaniem jest plik tekstowy o własnym unikalnym formacie; zazwyczaj nie jest przeznaczony do ręcznej edycji.

Rozwiązanie ma powiązane *.plik suo, który przechowuje ustawienia, preferencje i informacje konfiguracyjne dla każdego użytkownika, który pracował nad projektem.

 3
Author: jrahhali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 23:09:27

Rozwiązania są kontenerami dla projektów - można ich również używać do organizowania elementów, które są używane w różnych powiązanych projektach (współdzielonych bibliotekach dll itp.).

 2
Author: Oded,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-05 19:09:29

Rozwiązania są kontenerami używanymi przez Visual Studio do organizowania jednego lub więcej powiązanych projektów. Po otwarciu rozwiązania w programie Visual Studio automatycznie załaduje się on wszystkie zawarte w nim projekty.

Podczas tworzenia nowego projektu w Visual Studio, automatycznie tworzy rozwiązanie do domu projektu, jeśli nie ma rozwiązanie jeszcze otwarte.

Możesz ustawić zależności projektów od innych projektów w rozwiązaniu. Zależny projekt jest budowany po projekt jest w zależności od jest zbudowany.

Po Więcej szczegółów patrz - https://docs.microsoft.com/en-us/visualstudio/ide/quickstart-projects-solutions

Jeśli jesteś z tła Eclipse, prawdopodobnie powinieneś przejść do ścieżki budowania projektu i dodać zależność od innego projektu lub dodać zewnętrzny jar. W VS można to zrobić w jednym kontenerze o nazwie rozwiązanie, gdzie wszystkie powiązane projekty są zgrupowane razem.

Np. Załóżmy, że jesteś build i android i iOS aplikacja w xamrin, nie byłoby wspólnego kodu i zasobów, które mogłyby przejść w oddzielnym projekcie, a następnie projekty android i iOS mogą zależeć od tego wspólnego projektu kodu. Możesz również mieć projekty do przetestowania tych projektów itp.

 0
Author: Aniket Thakur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-21 09:21:46

A solution jest czytelnym plikiem tekstowym, którego rozszerzenie to .sln i o uporządkowanej treści opisującej projekty , które zawiera. Projekt jest czytelnym xml sformatowanym plikiem tekstowym, którego rozszerzenie to .vcxproj i którego struktura jest zgodna ze schematem XML, a jego głównym celem jest umieszczenie listy kodów źródłowych nazw plików i ich zależności lub odniesień do kodów źródłowych innych projektów, jak również.

 0
Author: ifelsemonkey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-14 19:12:48