wieso kopiert VS2008 hinzugefügte cs dateien ?



  • hallo,

    ich mache gerade meine ersten c#/.net versuche. bin bis dato nur auf der C++ seite zu hause gewesen.

    bei meinen C++ projekten war es üblich alle in mehreren projekten verwendeten klassen (cpp/h) in sog. source verzeichnissen zu halten und diese bei bedarf in ein projekt einzufügen.

    selbes versuche ich nun auch in VS2008 in einem C# projekt.

    ich habe ein simples beispiel main.cs und myclass.cs, die aber in einem anderen ordner auf der platte liegt. wann immer ich myclass.cs hinzufüge ( add->existing item ...) legt VS2008 eine kopie im projekt verzeichnis an.

    was muss ich tun, damit die datei myclass.cs aus dem ursprünglichen verzeichnis verwendent wird und somit änderungen für alle projekte sichtbar sind ?

    bin leicht irritiert 😃

    danke !



  • Als Verknüpfung hinzufügen. Geht im Öffnen-Dialog auf dem kleinen Pfeil rechts am OK-Button.



  • O.o schrieb:

    Als Verknüpfung hinzufügen. Geht im Öffnen-Dialog auf dem kleinen Pfeil rechts am OK-Button.

    da muss man erstmal drauf kommen - 1000 dank ! 🙂

    btw - warum ist default eine kopie anstatt des wie sonst üblichen "links" ? hat das irgendwelche vorteile, die ich noch nicht sehe ?



  • Ja, eine Kopie sorgt dafür, dass andere Projekte nach Änderungen noch laufen. Und ein "da hatte ich das doch schon gemacht" ist ja schnell passiert.



  • RockNix schrieb:

    btw - warum ist default eine kopie anstatt des wie sonst üblichen "links" ? hat das irgendwelche vorteile, die ich noch nicht sehe ?

    Ja. Vorteil ist z.B. dass VS die "kopierten" Dateien nach belieben umbenennen und verschieben kann. Was es auch tut. z.B. sobald man das File im Project Explorer in einen Folder zieht. Oder wenn man eine Klasse per Refactoring-Funktion umbenennt.
    (Oder war's umgekehrt? Nennt Studio die Klasse um wenn man das File umnennt? Kann mich nimmer genau erinnern... irgendsowas.)

    Das hilft enorm einen Sauhaufen zu vermeiden. Bei verlinkten Dateien ist das natürlich strengstens verboten, und wird daher vermutlich wohl auch nicht gemacht.



  • Gemeinsam genutzer Source sollte auch eher in einer Assembly (dll) kombiniert sein anstatt über mehrere Unterschiedliche Projekte verteilt zu werden.


Anmelden zum Antworten