Solution: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Die Seite wurde neu angelegt: „{{review}} Eine Solution ist im Visual Studio eine Zusammenfassung von mehreren Projekten zu einer großen "Lösung". == Anwendung == Wenn ein Programm entwick…“ |
Keine Bearbeitungszusammenfassung |
||
| (16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{ | {{complete}} | ||
Eine Solution ist | Eine [[Solution]] ist in [[VisualStudioTutorial|Microsoft Visual Studio]] eine Zusammenfassung von mehreren [[Projekt|Projekten]] zu einer großen "Lösung". | ||
== Anwendung == | == Anwendung == | ||
Wenn ein Programm entwickelt wird, kann es nötig sein, ein weiteres [[Projekt]] zu erstellen, um dem Programm zusätzliche Funktionalität hinzuzufügen. Man könnte sich vorstellen, dass ein Programm eine spezielle [[Klasse]] benötigt, die komplizierte Rechenoperationen durchführt. Nun soll diese [[Klasse]] aber nicht nur dem einem Programm vorbehalten bleiben, sondern möglichst auch von weiteren, zukünftigen [[Projekt|Projekten]] verwendet werden, da sie sehr nützlich ist. Üblicherweise schreibt man in diesem Fall eine [[Dynamic Linked Library|DLL]], die von mehreren Programmen aus angesprochen werden kann. | |||
Der Vorteil einer [[Solution]] besteht darin, dass eingestellt werden kann, welche der enthaltenen [[Projekt|Projekte]] wie [[Compiler|kompiliert]] werden sollen - also mit welchen Parametern und Einstellungen - und wie die gegenseitigen Abhängigkeiten aussehen. Es ist also möglich, bei der [[Compiler|Kompilierung]] seiner Anwendung festzulegen, dass zunächst die [[DLL]] im in der [[Solution]] enthaltenen Nebenprojekt kompiliert werden soll, bevor mit der [[Compiler|Kompilierung]] der Hauptanwendung begonnen wird. Dies stellt sicher, dass die Anwendung auch bei kleineren Änderungen in den anderen [[Projekt|Projekten]] stets die aktuellste Version der abhängigen [[Projekt|Projekte]] verwendet. | |||
Eine weitere Anwendungsmöglichkeit besteht darin, logisch voneinander getrennte Bereiche in verschiedenen [[Projekt]]en zu entwickeln, um eine bessere Arbeitsteilung und größere Unabhängigkeit zwischen den Bereichen zu ermöglichen. So kann z.B. bei einem Spiel die [[Engine]] separat von der [[Spiellogik]] entwickelt werden, in dem für beide Bereiche ein eigenes Projekt erstellt wird. Das gesamte Spiel (bestehend aus diesen beiden Projekten) wird dann in einer gemeinsamen [[Solution]] verwaltet. Dies ermöglicht sowohl die leichte Wiederverwendung der [[Engine]], als auch die bessere Testbarkeit der [[Spiellogik]]. | |||
Ein neues [[Projekt]] wird zu einer bestehenden [[Solution]] hinzugefügt, indem entweder per Rechtsklick auf die [[Solution]] geklickt wird und "Add -> New Project..." ausgewählt, oder dies über die Hauptmenüeinträge "File -> Add -> New Project..." erledigt wird. | |||
== Solution am Beispiel == | == Solution am Beispiel == | ||
Befinden sich in einer [[Solution]] mehrere [[Projekt|Projekte]], so stehen diese im Solution-Explorer untereinander. Dabei können in allen [[Projekt|Projekten]] alle darin enthaltenen Dateien wie auch in einem einzelnen [[Projekt]] geöffnet und bearbeitet werden. | |||
[[Datei:solution_multiple_projects.jpg|thumb|Solution mit mehreren Projekten]] | |||
[[Datei: | Jedes [[Projekt]] besitzt seine separaten [[Projekteigenschaften|Kompilierungseinstellungen]]. Ist zum Beispiel eine [[DLL]] fertig gestellt und wird nicht mehr großartig verändert, können die [[Projekteigenschaften|Kompilierungseinstellungen]] der DLL auf "[[Release]]" gesetzt werden, bevor die Hauptanwendung diesen Status erreicht. Die [[.NET]]-eigenen Codeoptimierungen werden dann bereits auf die [[DLL]] angewendet. | ||
Um die [[Build]]-Order innerhalb einer [[Solution]] festzulegen, reicht es, mit einem Rechtsklick die [[Solution]] auszuwählen und "Project Dependencies..." anzuklicken. Es öffnet sich ein Fenster, in dem jedes [[Projekt]] innerhalb der [[Solution]] ausgewählt werden kann und die abhängigen [[Projekt|Projekte]] über einen Haken gesetzt werden können. | |||
[[Datei:project_dependencies.jpg]] | |||
Unter dem Reiter "Build Order" kann dann die aktuell generierte [[Build]]-Order eingesehen und überprüft werden. | |||
[[Datei:build_order.jpg]] | |||
In diesem Fall wird zunächst das [[DLL]]-[[Projekt]] mit Namen "CoolCalculations" gebaut, bevor die Hauptanwendung "test" [[Compiler|kompiliert]] wird. | |||
[[Kategorie:VisualStudio]] | |||
