Erweiterte Eigenschaftenseite

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

>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).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.

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 die Elemente in das Ausgabeverzeichnis kopiert werden. 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 C++-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. For _UNICODE, the expected code entry point is wmain or wWinMain. For _MBCS, the expected code entry point is main or WinMain.

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

Unterstützung für Common Language Runtime

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 Support-Eigenschaft auf .NET Framework-Runtime-Unterstützung festgelegt ist. Das heißt, wenn das Projekt auf .NET Framework ausgerichtet ist und die Version des .NET Frameworks angibt.

.NET Zielframework

Diese Eigenschaft gilt nur, wenn die Common Language Runtime Support-Eigenschaft auf .NET Runtime-Support festgelegt ist. Das heißt, wenn 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

Diese Eigenschaft trägt dazu bei, die Erstellungszeiten in großen Lösungen erheblich zu verbessern, indem sichergestellt wird, dass abhängige Projekte nicht neu erstellt werden, wenn eine Änderung nicht die Teile Ihres Codes ändert, mit denen andere Assemblys oder Projekte sehen und interagieren können.

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 Visual Studio 2022 oder höher und das Plattformtoolset v143 oder höher verwenden.

.NET Zielversion Windows

Diese Eigenschaft gilt nur, wenn die Common Language Runtime Support-Eigenschaft auf .NET Runtime-Support festgelegt ist. Das heißt, wenn 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.

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. .exe Standardmäßig für Anwendungen, .lib für statische Bibliotheken und .dll für DLLs.

Bei der Bereinigung zu löschende Erweiterungen

>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).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 Buildtools ARM64, x86 oder x64 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.

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 die Elemente in das Ausgabeverzeichnis kopiert werden. 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 C++-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. For _UNICODE, the expected code entry point is wmain or wWinMain. For _MBCS, the expected code entry point is main or WinMain.

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.

Verwenden des dynamischen Debuggens von C++

Gibt an, ob das dynamische Debuggen von C++ verwendet werden soll. Verwenden Sie diesen Modus zum Debuggen von optimiertem Code. Wenn Sie diese Einstellung aktivieren, ist die Optimierung des gesamten Programms deaktiviert. Weitere Informationen finden Sie unter "Dynamisches Debuggen in C++".

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

Unterstützung für Common Language Runtime

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 Support-Eigenschaft auf .NET Framework-Runtime-Unterstützung festgelegt ist. Das heißt, wenn das Projekt auf .NET Framework ausgerichtet ist und die Version des .NET Frameworks angibt.

.NET Zielframework

Diese Eigenschaft gilt nur, wenn die Common Language Runtime Support-Eigenschaft auf .NET Runtime-Support festgelegt ist. Das heißt, wenn 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

Diese Eigenschaft trägt dazu bei, die Erstellungszeiten in großen Lösungen erheblich zu verbessern, indem sichergestellt wird, dass abhängige Projekte nicht neu erstellt werden, wenn eine Änderung nicht die Teile Ihres Codes ändert, mit denen andere Assemblys oder Projekte sehen und interagieren können.

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 Visual Studio 2022 oder höher und das Plattformtoolset v143 oder höher verwenden.

.NET Zielversion Windows

Diese Eigenschaft gilt nur, wenn die Unterstützungseigenschaft "Common Language Runtime" auf .NET Laufzeitunterstützung festgelegt ist. Das heißt, wenn 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.