Ich vermute du programmierst ein Tool und willst damit vorhandene Solutions bearbeiten!? Wenn ja, musst du mittels XML darauf zugreifen. Die Solution-Datei ist aber die falsche Datei. Du musst die *.csproj verarbeiten, dort gibt es folgende Einträge <Compile .../>
Wenn du Probleme damit hast, erstell dir ein Beispielprojekt und schau was sich dort verändert, wenn du z.B. eine Datei hinzufügst.
Was hast du den genau vor? Also ob Makros in der *.csproj gespeichert werden, wage ich zu bezweifeln, den normalerweiße liegen diese in einem seperaten Visual Studio Ordner.
Wenn du uns mehr Details gibst, wäre das super :-)
Rechte Maustaste auf das Projekt (nicht auf die Solution) im Projektmappen-Explorer-> "Hinzufügen"->"Vorhandenes Element hinzufügen". Datei auswählen und fertig.
Mir stellt sich gerade die Frage, ob ich dein Problem richtig verstanden habe? Willst aus einer Anwendung zur Laufzeit eine andere/neue Datei hinzuladen?
Die *.csproj-Datei ist eine XML-Datei und kann mit jedem XML-Editor oder mit der XDocument-Klasse aus dem System.XML-Namespace gelesen und bearbeitet werden.
Zum Beispiel kannst du alle Referenzierten Assemblys mit folgenden Code auslesen: