Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Eigenschaftenfenster in der integrierten Entwicklungsumgebung (IDE) von Visual Studio kann Projekt- und Konfigurationseigenschaften anzeigen. Sie können eine Eigenschaftenseite für Ihren eigenen Projekttyp bereitstellen, damit der Benutzer Eigenschaften für Ihre Anwendung festlegen kann.
Wenn Sie in Projektmappen-Explorer einen Projektknoten auswählen und dann im Menü "Projekt" auf "Eigenschaften" klicken, können Sie ein Dialogfeld öffnen, das Projekt- und Konfigurationseigenschaften enthält. In Visual C# und Visual Basic und von diesen Sprachen abgeleiteten Projekttypen wird dieses Dialogfeld als Registerkartenseite im Dialogfeld "Allgemein", "Umgebung", "Optionen" angezeigt. Weitere Informationen finden Sie unter "Not in Build: Walkthrough: Exposing Project and Configuration Properties (C#)".
Das Verwaltete Paketframework für Projekte (MPFProj) stellt Hilfsklassen zum Erstellen und Verwalten eines neuen Projektsystems bereit. Sie finden die Quellcode- und Kompilierungsanweisungen unter MPF für Projekte – Visual Studio 2013.
Persistenz von Projekt- und Konfigurationseigenschaften
Projekt- und Konfigurationseigenschaften werden in einer Projektdatei gespeichert, die eine Dateierweiterung hat, die dem Projekttyp zugeordnet ist, z. B. CSPROJ, VBPROJ und MYPROJ. Sprachprojekte verwenden in der Regel eine Vorlagendatei, um die Projektdatei zu generieren. Es gibt jedoch mehrere Möglichkeiten, Projekttypen und Vorlagen zuzuordnen. Weitere Informationen finden Sie unter Template Directory Description (. Vsdir) Dateien.
Projekt- und Konfigurationseigenschaften werden durch Hinzufügen von Elementen zur Vorlagendatei erstellt. Diese Eigenschaften sind dann für jedes Projekt verfügbar, das mithilfe des Projekttyps erstellt wird, der diese Vorlage verwendet. Visual C#-Projekte und MPFProj verwenden beide das Schema "Nicht in Build: MSBuild Overview " für Vorlagendateien. Diese Dateien verfügen über einen PropertyGroup-Abschnitt für jede Konfiguration. Eigenschaften von Projekten werden in der Regel im ersten PropertyGroup-Abschnitt beibehalten, der ein Konfigurationsargument auf eine NULL-Zeichenfolge festgelegt hat.
Der folgende Code zeigt den Start einer einfachen MSBuild-Projektdatei.
<Project MSBuildVersion="2.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Name>SomeProjectSix</Name>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<Optimize>true</Optimize>
In dieser Projektdatei <Name>
sind <SchemaVersion>
Projekteigenschaften und <Optimize>
eine Konfigurationseigenschaft.
Es liegt in der Verantwortung des Projekts, die Projekt- und Konfigurationseigenschaften der Projektdatei beizubehalten.
Hinweis
Ein Projekt kann die Persistenz optimieren, indem nur Eigenschaftswerte beibehalten werden, die sich von ihren Standardwerten unterscheiden.
Unterstützung für Projekt- und Konfigurationseigenschaften
Die Microsoft.VisualStudio.Package.SettingsPage
Klasse implementiert Projekt- und Konfigurationseigenschaftenseiten. Die Standardimplementierung von SettingsPage
öffentlichen Eigenschaften für einen Benutzer in einem generischen Eigenschaftenraster. Die Microsoft.VisualStudio.Package.HierarchyNode.GetPropertyPageGuids
Methode wählt Klassen aus, die für SettingsPage
Projekteigenschaftenraster abgeleitet sind. Die Microsoft.VisualStudio.Package.ProjectNode.GetConfigPropertyPageGuids
Methode wählt Klassen aus, die für SettingsPage
Konfigurationseigenschaftenraster abgeleitet sind. Der Projekttyp sollte diese Methoden überschreiben, um die entsprechenden Eigenschaftenseiten auszuwählen.
Die SettingsPage
Klasse und die Microsoft.VisualStudio.Package.ProjectNode
Klasse bieten diese Methoden zum Speichern von Projekt- und Konfigurationseigenschaften:
Microsoft.VisualStudio.Package.ProjectNode.GetProjectProperty
undMicrosoft.VisualStudio.Package.ProjectNode.SetProjectProperty
projekteigenschaften beibehalten.Microsoft.VisualStudio.Package.SettingsPage.GetConfigProperty
undMicrosoft.VisualStudio.Package.SettingsPage.SetConfigProperty
speichern Sie Konfigurationseigenschaften.Hinweis
Die Implementierungen und
Microsoft.VisualStudio.Package.SettingsPage
Microsoft.VisualStudio.Package.ProjectNode
Klassen verwenden dieMicrosoft.Build.BuildEngine
Methoden (MSBuild), um Projekt- und Konfigurationseigenschaften aus der Projektdatei abzurufen und festzulegen.Die von Ihnen abgeleitete
SettingsPage
Klasse muss Projekt- oder Konfigurationseigenschaften der Projektdatei implementierenMicrosoft.VisualStudio.Package.SettingsPage.ApplyChanges
undMicrosoft.VisualStudio.Package.SettingsPage.BindProperties
beibehalten.
ProvideObjectAttribute und Registrierungspfad
Abgeleitete SettingsPage
Klassen sind für die gemeinsame Nutzung über VSPackages ausgelegt. Damit ein VSPackage eine von dieser abgeleitete SettingsPage
Klasse erstellen kann, fügen Sie eine Microsoft.VisualStudio.Shell.ProvideObjectAttribute
zu einer abgeleiteten Microsoft.VisualStudio.Shell.Package
Klasse hinzu.
[ProvideObject(typeof(MyProjectPropertyPage))]
[Guid("e815d8ad-49bf-427d-99c8-009db3e56ab9")]
public sealed class MyPackage : Package
Die VSPackage, an die das Attribut angefügt ist, ist unwichtig. Wenn ein VSPackage mit Visual Studio registriert wird, wird die Klassen-ID (CLSID) eines objekts registriert, das erstellt werden kann, damit ein Aufruf erstellt CreateInstance werden kann.
Der Registrierungspfad eines Objekts, das erstellt werden kann, wird durch Die Kombination UserRegistryRoot, das Wort, die CLSID und die GUID des Objekttyps bestimmt. Wenn MyProjectPropertyPage
die Klasse eine GUID von {3c693da2-5bca-49b3-bd95-ffe0a39dd723} hat und userRegistryRoot HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0Exp ist, dann wäre der Registrierungspfad HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0Exp\CLSID\{3c693da2-5bca-49b3-bd95-ffe0a39dd723}.
Attribute und Layout von Project- und Configuration-Eigenschaften
Die CategoryAttributeAttribute DisplayNameAttributeund DescriptionAttribute Die Attribute bestimmen das Layout, die Bezeichnung und die Beschreibung von Projekt- und Konfigurationseigenschaften auf einer generischen Eigenschaftenseite. Diese Attribute bestimmen die Kategorie, den Anzeigenamen und die Beschreibung der Option.
Hinweis
Gleichwertige Attribute, SRCategory, LocDisplayName und SRDescription, verwenden Zeichenfolgenressourcen für die Lokalisierung und werden in MPF für Projekte – Visual Studio 2013 definiert.
Betrachten Sie das folgende -Codefragment:
public bool IsDirty { get; set; }
private string myConfigProp;
[Category("My Category")]
[DisplayName("My Config Property")]
[Description("My Description")]
public string MyConfigProp
{
get { return myConfigProp; }
set { myConfigProp = value; IsDirty = true; }
}
Die MyConfigProp
Konfigurationseigenschaft wird auf der Konfigurationseigenschaftsseite als My Config-Eigenschaft in der Kategorie " Meine Kategorie" angezeigt. Wenn die Option ausgewählt ist, wird die Beschreibung " Meine Beschreibung" im Beschreibungsbereich angezeigt.