Seite "Erweiterte Eigenschaft"

Die Seite "Erweiterte Eigenschaft" ist in Visual Studio 2019 und höher verfügbar. Um die Dokumentation für diese Version anzuzeigen, legen Sie das Visual Studio-Versionsauswahlsteuerelement für diesen Artikel auf Visual Studio 2019 oder höher fest. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite. In früheren Versionen von Visual Studio werden diese Eigenschaften auf der Seite "Allgemeine Eigenschaft" angezeigt:

Die Seite "Erweiterte Eigenschaft" ist in Visual Studio 2019 und höher verfügbar. Die angezeigten spezifischen Eigenschaften hängen vom Projekttyp ab. Windows-Runtime Projekte (Universelle Windows-Plattform oder UWP) zeigen diese Seite nicht an.

Erweiterte Eigenschaften

Zieldateierweiterung

Gibt die Dateierweiterung an, die für die Buildausgabe verwendet werden soll. Standardwert für .exe Anwendungen, .lib für statische Bibliotheken und .dll für DLLs.

Bei der Bereinigung zu löschende Erweiterungen

>Der Befehl "Neu erstellen" löscht Dateien aus dem Zwischenverzeichnis, in dem die Konfiguration eines Projekts erstellt wird. Das Buildsystem löscht Dateien, die über die angegebenen Erweiterungen verfügen, wenn Sie den Befehl "Bereinigen" ausführen oder wenn Sie neu erstellen. Das Buildsystem löscht auch alle bekannten Ausgaben des Builds, unabhängig davon, wo er sich befindet. Gelöschte Dateien enthalten alle Zwischenausgaben, z .obj . B. Dateien. Verwenden Sie Semikolons (;) zum Trennen von Erweiterungen. Sie können in den Erweiterungen wild Karte Zeichen (*, ?) angeben.

Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter DeleteExtensionsOnClean.

Buildprotokolldatei

Ermöglicht es Ihnen, einen nicht standardmäßigen Speicherort für die Protokolldatei anzugeben, die immer dann erstellt wird, wenn Sie ein Projekt erstellen. Der Standardspeicherort wird durch die Makros $(IntDir)$(MSBuildProjectName).logangegeben.

Sie können Projektmakros verwenden, um den Verzeichnispfad zu ändern. Weitere Informationen finden Sie unter "Allgemeine Makros" für Buildbefehle und -eigenschaften.

Architektur des bevorzugten Buildtools

Gibt an, ob die x86- oder x64-Buildtools verwendet werden sollen.

Verwenden von Debugbibliotheken

Gibt an, ob ein Debug- oder Releasebuild erstellt werden soll. Trotz des Namens ist die Verwendung von Debugbibliotheken eine systemspezifische Buildeigenschaft, die effektiv für "Erstellen eines Debugbuilds" oder "Erstellen eines Releasebuilds" kurz ist. Es legt mehrere Compiler- und Linkereigenschaften für Debug- oder Releasebuilds fest, einschließlich der Bibliothekseinstellungen. Sie können es verwenden, um Debug- oder Releasekonfigurationen für eine neue Plattform oder in einer neuen Vorlage zu erstellen. Es wird nicht empfohlen, diese Eigenschaft in einer vorhandenen Konfiguration zu ändern. Verwenden Sie stattdessen die einzelnen Compiler- und Linkereigenschaften.

Unity(JUMBO)-Build aktivieren

Ermöglicht einen schnelleren Buildprozess, der viele C++-Quelldateien in einer oder mehreren Dateien vor der Kompilierung kombiniert. Diese kombinierten Dateien werden als Unity-Dateien bezeichnet. Sie sind nicht mit der Unity-Spielengine verknüpft.

Inhalt in OutDir kopieren

Kopieren Sie die im Projekt als Inhalt markierten Elemente in das Ausgabeverzeichnis des Projekts ($(OutDir)). Diese Einstellung kann die Bereitstellung vereinfachen. Diese Eigenschaft ist ab Visual Studio 2019, Version 16.7, verfügbar.

Kopieren von Projektverweise auf OutDir

Kopieren Sie die ausführbare Datei (DLL- und EXE-Datei)-Projektreferenzelemente in das Ausgabeverzeichnis des Projekts ($(OutDir)). In C++/CLI-Projekten (/clr) wird diese Eigenschaft ignoriert. Stattdessen steuert die Eigenschaft "Lokal kopieren" für jeden Projektverweis, ob sie in das Ausgabeverzeichnis kopiert wird. Diese Einstellung kann die lokale Bereitstellung vereinfachen. Es ist ab Visual Studio 2019, Version 16.7, verfügbar.

Kopieren der Symbole der Projektverweise in OutDir

Kopieren Sie die PDB-Dateien für Projektverweiselemente zusammen mit den ausführbaren Projektelementen in das Ausgabeverzeichnis des Projekts ($(OutDir)). Diese Eigenschaft ist immer für C++/CLI-Projekte aktiviert. Diese Einstellung kann die Debugbereitstellung vereinfachen. Es ist ab Visual Studio 2019, Version 16.7, verfügbar.

Kopieren von C++-Runtime in OutDir

Kopieren Sie die Laufzeit-DLLs in das Ausgabeverzeichnis des Projekts ($(OutDir)). Diese Einstellung kann die lokale Bereitstellung vereinfachen. Es ist ab Visual Studio 2019, Version 16.7, verfügbar.

Verwendung von MFC

Gibt an, ob das MFC-Projekt statisch oder dynamisch mit der MFC-DLL verknüpft ist. Nicht-MFC-Projekte wählen " Standard-Windows-Bibliotheken verwenden" aus.

Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter useOfMfc.

Zeichensatz

Gibt an, ob das _UNICODE Makro oder _MBCS das Präprozessormakro festgelegt werden soll. Wirkt sich ggf. auch auf den Linkereinstiegspunkt aus.

Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter CharacterSet.

Optimierung des ganzen Programms

Gibt die /GL Compileroption und /LTCG die Linkeroption an. Diese Eigenschaft ist standardmäßig für Debugkonfigurationen deaktiviert und für Releasekonfigurationen aktiviert.

MSVC Toolset-Version

Gibt die Vollversion des MSVC-Toolsets an, das zum Erstellen des Projekts verwendet wird. Möglicherweise sind verschiedene Update- und Vorschauversionen eines Toolsets installiert. Sie können angeben, welcher hier zu verwenden ist.

LLVM Toolset-Version

Gibt die Vollversion des LLVM-Toolsets an, das zum Erstellen des Projekts verwendet wird. Diese Eigenschaft ist verfügbar, wenn LLVM (clang-cl) als Plattformtoolset ab Visual Studio 2019, Version 16.9, ausgewählt wird. Weitere Informationen finden Sie unter Festlegen einer benutzerdefinierten LLVM-Toolsetversion.

MSVC Structured Output aktivieren

Gibt an, ob strukturierte SARIF-Ausgabe aktiviert werden soll, wodurch das Fenster "Problemdetails" und die hierarchische Ausgabe im Ausgabefenster in Visual Studio aktiviert werden.

C++/CLI-Eigenschaften

Common Language Runtime-Unterstützung

Bewirkt, dass die /clr Compileroption verwendet wird.

Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter ManagedExtensions.

.NET Framework-Zielversion

Diese Eigenschaft gilt nur, wenn die Common Language Runtime-Unterstützungseigenschaft auf .NET Framework-Runtime-Support festgelegt ist, d. h. das Projekt auf .NET Framework ausgerichtet ist, und es gibt die Version von .NET Framework an.

.NET Target Framework

Diese Eigenschaft gilt nur, wenn die Unterstützungseigenschaft für Common Language Runtime auf .NET-Runtime-Support festgelegt ist, d. h. das Projekt auf .NET ausgerichtet ist.

Diese Eigenschaft gibt das .NET 5+ Target Framework Moniker an, z. B net6.0-windows . oder net7.0-windows8.0.

Verwalteten inkrementellen Build aktivieren

Bei verwalteten Projekten ermöglicht diese Option die Erkennung der externen Sichtbarkeit, wenn Sie Assemblys generieren. Wenn eine Änderung an einem verwalteten Projekt für andere Projekte nicht sichtbar ist, werden abhängige Projekte nicht neu erstellt. Verwaltete inkrementelle Builds können Die Erstellungszeiten in Lösungen, die verwaltete Projekte enthalten, erheblich verbessern.

Aktivieren der CLR-Unterstützung für einzelne Dateien

Mit dieser Option wird eine ManagedAssembly Buildeigenschaft festgelegt, mit der nur einige Dateien im Projekt als verwalteter Code erstellt werden können. Sie müssen die CLR-Unterstützung für einzelne Dateien auf "Ja" festlegen, wenn einige, aber nicht alle Projektdateien als verwalteter Code erstellt werden. Diese Eigenschaft ist nur in Projekten verfügbar, die das Toolset v143 oder höher in Visual Studio 2022 und höheren Versionen verwenden.

.NET Target Windows Version

Diese Eigenschaft gilt nur, wenn die Unterstützungseigenschaft für Common Language Runtime auf .NET-Runtime-Support festgelegt ist, d. h. das Projekt auf .NET ausgerichtet ist.

Diese Eigenschaft gibt die minimale Windows-Version an, die das Projekt unterstützt. Dieser Wert wird von NuGet verwendet, um die Kompatibilität von Projekten und NuGet-Paketabhängigkeiten zu bestimmen. Wenn ein Projekt A von Projekt B abhängt, muss die .NET-Zielversion von Project A größer oder gleich projekt B sein.