Solution: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Ruzzoli (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{review}}
{{complete}}


Eine [[Solution]] ist in [[VisualStudioTutorial|Microsoft Visual Studio]] eine Zusammenfassung von mehreren [[Projekt|Projekten]] zu einer großen "Lösung".
Eine [[Solution]] ist in [[VisualStudioTutorial|Microsoft Visual Studio]] eine Zusammenfassung von mehreren [[Projekt|Projekten]] zu einer großen "Lösung".
Zeile 8: Zeile 8:
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.
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 Anwendungsmoeglichkeit besteht darin, eine Arbeitsteilung in einzelne logisch voneinander getrennte Bereiche durchzufuehren. So kann z.B. bei einem Spiel die 3D-Engine seperat von der Spiellogik entwickelt werden und die beiden koennen dann aber in einer [[Solution]] zusammengefuehrt werden.
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.
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.
{{BA|Dietsch|Man verwendet Solutions ja auch für Multi-Tier-Anwendungen bzw. die Einteilung in einzelne, stärker getrennte Komponenten (ala Engine, GameMechanic, Editor, etc.) - vielleicht sollte man das hier auch noch erwähnen}}
{{BA|Fx|In etwa so?}}


== Solution am Beispiel ==
== Solution am Beispiel ==
Zeile 19: Zeile 17:
[[Datei:solution_multiple_projects.jpg|thumb|Solution mit mehreren Projekten]]
[[Datei:solution_multiple_projects.jpg|thumb|Solution mit mehreren Projekten]]


Jedes [[Projekt]] besitzt seine separaten 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.
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.
{{BA|Dietsch|Machen wir eine Übersicht über diese Einstellungen?}}
{{BA|Greitschus|--> [[Projekteigenschaften]]}}


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.
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.
Abgerufen von „https://sopranium.de/Solution