<?xml version="1.0" encoding="utf-8"?>
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
<Rule Name="Application" Description="Hiermit werden die Anwendungseinstellungen und Eigenschaften des Projekts angegeben." DisplayName="Anwendung" PageTemplate="generic" Order="100" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="Allgemein" Description="Allgemeine Einstellungen für die Anwendung." />
    <Category Name="Resources" DisplayName="Ressourcen" Description="Ressourceneinstellungen für die Anwendung." />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="False" />
  </Rule.DataSource>
  <StringProperty Name="AssemblyName" DisplayName="Assemblyname" Description="Hiermit wird der Name der Ausgabedatei angegeben, die das Assemblymanifest enthält." Category="General" />
  <StringProperty Name="RootNamespace" DisplayName="Standardnamespace" Description="Hiermit wird der Basisnamespace für Dateien angegeben, die dem Projekt hinzugefügt werden." Category="General" />
  <BoolProperty Name="TargetMultipleFrameworks" DisplayName="Mehrere Zielframeworks" Description="Hiermit erstellen Sie dieses Projekt für mehrere Zielframeworks." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General">
    <BoolProperty.DataSource>
      <DataSource Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <DynamicEnumProperty Name="TargetFramework" DisplayName="Zielframework" Description="Hiermit wird die .NET-Version angegeben, die von der Anwendung als Ziel verwendet wird. Diese Option kann unterschiedliche Werte aufweisen, je nachdem, welche .NET-Versionen auf Ihrem Computer installiert sind." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General" EnumProvider="SupportedTargetFrameworksEnumProvider" MultipleValuesAllowed="False">
    <DynamicEnumProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(not (evaluated "Application" "TargetMultipleFrameworks"))</NameValuePair.Value>
      </NameValuePair>
      <NameValuePair Name="DependsOn" Value="Application::TargetMultipleFrameworks" />
    </DynamicEnumProperty.Metadata>
  </DynamicEnumProperty>
  <StringProperty Name="TargetFrameworks" DisplayName="Zielframeworks" Description="Hiermit wird die durch Semikolons getrennte Liste der Frameworks angegeben, die von diesem Projekt als Ziel festgelegt werden." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(evaluated "Application" "TargetMultipleFrameworks")</NameValuePair.Value>
      </NameValuePair>
      <NameValuePair Name="DependsOn" Value="Application::TargetMultipleFrameworks" />
    </StringProperty.Metadata>
  </StringProperty>
  <StringProperty Name="InstallOtherFrameworks" DisplayName="Andere Frameworks installieren">
    <StringProperty.DataSource>
      <DataSource PersistedName="InstallOtherFrameworks" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.ValueEditors>
      <ValueEditor EditorType="LinkAction">
        <ValueEditor.Metadata>
          <NameValuePair Name="Action" Value="URL" />
          <NameValuePair Name="URL" Value="http://go.microsoft.com/fwlink/?LinkID=287120" />
        </ValueEditor.Metadata>
      </ValueEditor>
    </StringProperty.ValueEditors>
  </StringProperty>
  <EnumProperty Name="OutputType" DisplayName="Ausgabetyp" Description="Hiermit wird der Typ der zu erstellenden Anwendung angegeben." Category="General">
    <EnumValue Name="Library" DisplayName="Klassenbibliothek" />
    <EnumValue Name="Exe" DisplayName="Konsolenanwendung" />
    <EnumValue Name="WinExe" DisplayName="Windows-Anwendung" />
  </EnumProperty>
  <DynamicEnumProperty Name="StartupObject" DisplayName="Startobjekt" Description="Hiermit wird der Einstiegspunkt definiert, der beim Laden der Anwendung aufgerufen werden soll. Im Allgemeinen wird dies entweder auf das Hauptformular in Ihrer Anwendung oder auf die Main-Prozedur festgelegt, die beim Starten der Anwendung ausgeführt werden soll. Klassenbibliotheken definieren keinen Einstiegspunkt." Category="General" EnumProvider="StartupObjectsEnumProvider">
    <DynamicEnumProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(ne (evaluated "Application" "OutputType") "Library")</NameValuePair.Value>
      </NameValuePair>
    </DynamicEnumProperty.Metadata>
  </DynamicEnumProperty>
  <EnumProperty Name="ResourceSpecificationKind" DisplayName="Ressourcen" Description="Hiermit wird angegeben, wie die Anwendungsressourcen verwaltet werden sollen." Category="Resources">
    <EnumProperty.DataSource>
      <DataSource PersistedName="ResourceSpecificationKind" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="IconAndManifest" DisplayName="Symbol und Manifest" />
    <EnumValue Name="ResourceFile" DisplayName="Ressourcendatei" />
  </EnumProperty>
  <StringProperty Name="ApplicationIcon" DisplayName="Symbol" Category="Resources" Description="Hiermit wird die ICO-Datei festgelegt, die als Programmsymbol verwendet werden soll." Subtype="file">
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
  <EnumProperty Name="ApplicationManifestKind" DisplayName="Manifest" Description="Hiermit wird eine Option zum Generieren von Manifesten ausgewählt, wenn die Anwendung unter Windows Vista oder höher mit aktivierter Benutzerkontensteuerung (UAC) ausgeführt wird. Zu den Optionen gehören ein Standardmanifest, kein Manifest oder ein benutzerdefiniertes Manifest, das von Ihrem Projekt bereitgestellt wird." Category="Resources">
    <EnumProperty.DataSource>
      <DataSource PersistedName="ApplicationManifestKind" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest")</NameValuePair.Value>
      </NameValuePair>
    </EnumProperty.Metadata>
    <EnumValue Name="DefaultManifest" DisplayName="Manifest mit Standardeinstellungen einbetten" />
    <EnumValue Name="NoManifest" DisplayName="Anwendung ohne Manifest erstellen" />
    <EnumValue Name="CustomManifest" DisplayName="Benutzerdefiniertes Manifest verwenden" />
  </EnumProperty>
  <StringProperty Name="ApplicationManifestPath" DisplayName="Manifestpfad" Description="Der Pfad zur benutzerdefinierten Manifestdatei." Category="Resources" Subtype="file">
    <StringProperty.DataSource>
      <DataSource PersistedName="ApplicationManifestPath" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind;Application::ApplicationManifestKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>
          (and 
            (eq (evaluated "Application" "ApplicationManifestKind") "CustomManifest")
            (eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest"))
        </NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
  <StringProperty Name="Win32Resource" DisplayName="Ressourcendatei" Description="Hiermit wird eine Ressourcendatei für das Projekt angegeben." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147078" Category="Resources" Subtype="file">
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "ResourceFile")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
</Rule>