Eigenschaftenseite „Erweitert“
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 Wildcardzeichen (*
, ?
) 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).log
angegeben.
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.