Visual Studio: Kann ich die Eigenschaften eines Projekts kopieren, um sie in einem anderen Projekt zu verwenden?


70

Ich habe mehrere Verzeichnisse, Bibliotheken wie matlab, opencv usw. hinzugefügt, um meine aktuelle C-Datei im Visual Studio-Projekt zu kompilieren.

Alle meine bevorstehenden Projekte erfordern die gleichen Einstellungen / Eigenschaften. Muss ich die Eigenschaften jedes Projekts einzeln einrichten oder kann ich etwas tun, um sie auf alle anzuwenden?

Antworten:


91

Versuchen Sie es mit Eigenschaftenblättern. Diese können eine einzelne Eigenschaftendatei erstellen, die von mehreren Projekten geerbt werden kann.

  1. Verwenden Sie "Ansicht> Andere Fenster> Eigenschaften-Manager", um den Eigenschaften-Manager aufzurufen. Es zeigt Ihre Projekte und Konfigurationen.

  2. Klicken Sie mit der rechten Maustaste auf eine Konfiguration und wählen Sie "Neues Projekteigenschaftsblatt hinzufügen ...". Sie können es benennen und einen Speicherort auswählen, der für alle Ihre Projekte geeignet ist.

  3. Nach der Erstellung können Sie die Eigenschaften wie bei einer Build-Konfiguration bearbeiten.

  4. Um dieses Eigenschaftenblatt als Grundlage für andere Projekte zu verwenden, klicken Sie einfach mit der rechten Maustaste auf die Konfiguration oder das Projekt und wählen Sie "Vorhandenes Eigenschaftenblatt hinzufügen ...". Navigieren Sie zu dem Ort, an dem Sie das Originalblatt gespeichert haben, und es wird vererbt.

Alle Änderungen am Originalblatt werden auf jedes Projekt angewendet, das es erbt, sofern sie nicht überschrieben werden. Wenn Sie in Eigenschaften weiter oben in der Kette gehen, haben Eigenschaften, die überschrieben werden, einen fett gedruckten Typ für ihre Werte. Damit sie immer den Wert im Basisblatt verwenden, wird gegebenenfalls die Option "Von übergeordneten oder Projektstandards erben" verwendet.


7
Für welche Version von VS ist diese Lösung relevant? Ich kann nicht scheinen, dass es für VS-2008 funktioniert ... Vermisse ich etwas?
Shai

21
Gibt es eine Methode zum automatischen Generieren eines Eigenschaftenblatts aus einem aktuellen Projekt, in dem alle erforderlichen Konfigurationen konfiguriert wurden? Ich möchte nicht jede Eigenschaft erneut manuell zum Eigenschaftenblatt hinzufügen
Samitha Chathuranga

Es scheint, dass dies nur für C ++ funktioniert, nicht für fortran. Für das fortran-Projekt ist "Hausverwalter" leer.
user15964

13
Dies funktioniert bei mir nicht, es beantwortet nicht die Frage, wie Sie die Eigenschaften von einem Projekt in ein anderes übertragen. Auch die Anweisungen sind vage und unvollständig.
Eule

4

Ich verwende AtmelStudio 6.1, das auf Visual Studio 2010 basiert (glaube ich), und habe noch keinen Property Manager, den ich finden kann. Das Hackish-System, das ich benutze, ist also:

  1. Schließen Sie das Projekt, dessen Konfiguration Sie ändern möchten, (oder entladen Sie es zumindest über das Kontextmenü)
  2. Öffnen Sie die .cproj-Datei (XML) in einem beliebigen Texteditor (VS funktioniert gut).
  3. Machen Sie eine Sicherungskopie davon irgendwo anders, nur für den Fall,
  4. Öffnen Sie die .cproj-Datei des Projekts, dessen Konfigurationsdaten Sie kopieren möchten.
  5. Suchen Sie nach den gewünschten Konfigurationsdaten. Konfigurationen befinden sich in PropertyGroup-Tags. In meinem Fall sieht es zum Beispiel so aus

    <PropertyGroup Condition=" '$(Configuration)' == 'Preprocess only' "> 
    

    für die Konfiguration mit dem Namen "Nur Vorverarbeitung". Kopieren Sie vom Anfang dieses Tags bis zum Ende des entsprechenden Tags

    </PropertyGroup> 
    

    Etikett.

  6. Fügen Sie den Block direkt nach dem anderen in das Ziel .cproj ein

    </PropertyGroup>
    

    Etikett. Stellen Sie sicher, dass der Name der Konfiguration in dieser Datei eindeutig ist. Sparen.

Du bist fertig. Öffnen Sie nun das Projekt normal in VS und Sie können die hinzugefügte Konfiguration auswählen.


2

Für Visual Studio 2010+ können Sie eine Projektvorlage erstellen .

Wenn Sie die Vorlage im Assistenten zum Erstellen von Vorlagen automatisch zu Visual Studio hinzufügen, wird beim Erstellen / Hinzufügen eines neuen Projekts die Vorlage angezeigt (nach dem Neustart von Visual Studio). Mit dieser Vorlage erstellte Projekte haben dieselben Projekteigenschaften!

Um der Vorlage Quellcodedateien hinzuzufügen, ist es am einfachsten, die Quellcodedateien im Solution-Explorer so anzuordnen, dass sie sich im Stammverzeichnis befinden (nicht in einem Ordner). Danach generieren Sie DANN die Vorlage.

Warum? Manchmal wird die Quelldatei nicht in die Vorlage kopiert, wenn Sie Ihre Dateien in den Standardordner des Quellcode-Lösungs-Explorers (nicht im Datei-Explorer, die Bezeichnung .project.filters) legen. Es wird angezeigt, dass das Dokument nicht geöffnet werden kann wurde umbenannt gelöscht oder verschoben ", wenn Sie versuchen, die Vorlage zu verwenden, und die gewünschte Datei in der Vorlage befindet sich NICHT im Datei-Explorer.

Wenn Sie Lösungs-Explorer-Ordner möchten, müssen Sie diese manuell zur Vorlage hinzufügen, indem Sie den Vorlagenordner entpacken, Änderungen vornehmen und ihn dann erneut komprimieren.

Kopieren Sie beispielsweise buchstäblich die Quelldateien, die die Vorlage haben soll, und fügen Sie sie in den Vorlagenordner ein, und bearbeiten Sie die .vstemplate-Datei. M $ Doc zur Vorlagenbearbeitung .

<TemplateContent>
<!-- put new file references here and/or in your .vcxproj .vcxproj.filters --> 
 TargetFileName="HelloWorld.cl">HelloWorld.cl</ProjectItem>
      <ProjectItem ReplaceParameters="false" 
</TemplateContent>

Verwandte Fragen:

Wie verwende ich die von mir erstellte VS-Vorlage?

Wie kann ich eine Vorlage laden, die ich in Visual Studio erstellt habe?

Wie kopiere ich ein visuelles Studio-Projekt?

Das einfache Kopieren und Einfügen ganzer Projekte und Lösungen wird für komplexe oder gemeinsam genutzte Projekte nicht empfohlen, da sich verschiedene GUIDs und Dateinamen überschneiden können, was zu Fehlern führen kann.


3
Ich verwende Visual Studio 2017 (Pro, v15.8.2). Eigenschaftenblätter sind beim Hinzufügen eines neuen Elements verfügbar und können mit dem Eigenschaften-Manager verwaltet werden.
Mike P

1
Hast du eine Quelle für (Property sheets are unsupported in Visual Studio 2017+.)? Ich kann etwas in den neuen Dokumenten finden und sie beheben
BNT

Perfekt! Dies ist die Lösung, die Sie verwenden sollten, wenn Sie bereits Eigenschaften ohne Verwendung der Eigenschaftenblätter konfiguriert haben (da es nachträglich keine Möglichkeit zu geben scheint, ein Blatt zu exportieren)
Joe Coder,

2

Für MSVS 2017 funktioniert der erwähnte Prozess @AaronMK nicht. Gehen Sie stattdessen wie folgt vor:

  1. Ansicht -> Andere Fenster -> Eigenschaften-Manager
  2. Neues Eigenschaftenblatt hinzufügen.
  3. Bearbeiten Sie dort die gewünschten Optionen.
  4. Geben Sie ihm einen passenden Namen, damit Sie sich daran erinnern.
  5. Klicken Sie mit der rechten Maustaste darauf und klicken Sie auf "Save {myPropertySheet}".
  6. Es ist ratsam, es neben den Standardeigenschaftenblättern zu platzieren und es jederzeit hinzuzufügen (über Property Manager -> Vorhandenes Eigenschaftenblatt hinzufügen -> Zu seinem Speicherort navigieren). Dieses Verzeichnis ist:C:\Users\{myUsername}\AppData\Local\Microsoft\MSBuild\v4.0

Alternativ können Sie die Standardeigenschaftenblätter bearbeiten und diese standardmäßig verwenden. Ich würde es jedoch nicht empfehlen, da sie eine Fallback-Option für den Fall bieten, dass Sie es vermasseln. Machen Sie also zuerst Backups, wenn Sie Standarddateien bearbeiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.