/win32manifest (C#-Compileroptionen)/win32manifest (C# Compiler Options)

Verwenden Sie die Option /win32manifest, um eine benutzerdefinierte Win32-Anwendungsmanifestdatei anzugeben, die in die übertragbare ausführbare Datei (portable executable, PE) eines Projekts eingebettet werden soll.Use the /win32manifest option to specify a user-defined Win32 application manifest file to be embedded into a project's portable executable (PE) file.

SyntaxSyntax

/win32manifest: filename  

ArgumenteArguments

filename
Der Name und Speicherort der benutzerdefinierten ManifestdateiThe name and location of the custom manifest file.

HinweiseRemarks

Standardmäßig bettet der Visual C#-Compiler ein Anwendungsmanifest ein, das eine angeforderte Ausführungsebene als „asInvoker“ angibt.By default, the Visual C# compiler embeds an application manifest that specifies a requested execution level of "asInvoker." Er erstellt das Manifest in demselben Ordner, in dem die ausführbare Datei erstellt wird; in der Regel ist dies der Ordner „bin\Debug“ oder „bin\Release“, wenn Sie Visual Studio verwenden.It creates the manifest in the same folder in which the executable is built, typically the bin\Debug or bin\Release folder when you use Visual Studio. Wenn Sie ein benutzerdefiniertes Manifest bereitstellen möchten, z.B. um eine angeforderte Ausführungsebene von „highestAvailable“ oder „requireAdministrator“ anzugeben, verwenden Sie diese Option zum Angeben des Dateinamens.If you want to supply a custom manifest, for example to specify a requested execution level of "highestAvailable" or "requireAdministrator," use this option to specify the name of the file.

Hinweis

Diese Option und die Option /win32res (C#-Compileroptionen) schließen sich gegenseitig aus.This option and the /win32res (C# Compiler Options) option are mutually exclusive. Wenn Sie versuchen, beide Optionen in derselben Befehlszeile zu verwenden, erhalten Sie einen Buildfehler.If you try to use both options in the same command line you will get a build error.

Eine Anwendung, die kein Anwendungsmanifest besitzt gibt an, dass Datei-/Registrierungsvirtualisierung das User Account Control-Feature in Windows eine angeforderte Ausführungsebene unterliegen wird.An application that has no application manifest that specifies a requested execution level will be subject to file/registry virtualization under the User Account Control feature in Windows. Weitere Informationen finden Sie unter User Account Control.For more information, see User Account Control.

Die Anwendung unterliegt der Virtualisierung, wenn eine dieser Bedingungen erfüllt ist:Your application will be subject to virtualization if either of these conditions is true:

  • Sie verwenden die Option /nowin32manifest, und Sie stellen in einem späteren Buildschritt oder als Teil einer Windows-Ressource (.res) kein Manifest bereit, indem Sie die Option /win32res verwenden.You use the /nowin32manifest option and you do not provide a manifest in a later build step or as part of a Windows Resource (.res) file by using the /win32res option.

  • Sie stellen ein benutzerdefiniertes Manifest bereit, das keine angeforderte Ausführungsebene angibt.You provide a custom manifest that does not specify a requested execution level.

Visual StudioVisual Studio erstellt eine Standard MANIFEST-Datei und speichert sie zusammen mit der ausführbaren Datei in den Debug- oder Releaseverzeichnissen. creates a default .manifest file and stores it in the debug and release directories alongside the executable file. Sie können ein benutzerdefiniertes Manifest hinzufügen, indem Sie es in einem Text-Editor erstellen und die Datei anschließend zum Projekt hinzufügen.You can add a custom manifest by creating one in any text editor and then adding the file to the project. Alternativ können Sie mit der rechten Maustaste auf das Projekt-Symbol im Projektmappen-Explorer klicken und anschließend auf Neues Element hinzufügen und dann auf Anwendungsmanifestdatei klicken.Alternatively, you can right-click the Project icon in Solution Explorer, click Add New Item, and then click Application Manifest File. Nachdem Sie Ihre neue oder vorhandene Manifestdatei hinzugefügt haben, wird sie in der Dropdownliste Manifest angezeigt.After you have added your new or existing manifest file, it will appear in the Manifest drop down list. Weitere Informationen finden Sie unter Seite „Anwendung“, Projekt-Designer (C#).For more information, see Application Page, Project Designer (C#).

Sie können das Anwendungsmanifest über einen benutzerdefinierten Postbuildschritt oder als Teil einer Win32-Ressourcendatei bereitstellen, indem Sie die Option /nowin32manifest (C#-Compileroptionen) verwenden.You can provide the application manifest as a custom post-build step or as part of a Win32 resource file by using the /nowin32manifest (C# Compiler Options) option. Verwenden Sie dieselbe Option, wenn Ihre Anwendung der Datei- oder Registrierungsvirtualisierung unter Windows Vista unterliegen soll.Use that same option if you want your application to be subject to file or registry virtualization on Windows Vista. Dies verhindert, dass der Compiler ein Standardmanifest in der portierbaren ausführbaren Datei (portable executable, PE) erstellt und einbettet.This will prevent the compiler from creating and embedding a default manifest in the portable executable (PE) file.

BeispielExample

Im folgenden Beispiel wird das Standardmanifest gezeigt, das der Visual C# Compiler in eine PE einfügt.The following example shows the default manifest that the Visual C# compiler inserts into a PE.

Hinweis

Der Compiler fügt einen Standardanwendungsnamen, „MyApplication.app“, in die XML-Datei ein.The compiler inserts a standard application name " MyApplication.app " into the xml. Mit dieser Problemumgehung können Anwendungen unter Windows Server 2003 Service Pack 3 ausgeführt werden.This is a workaround to enable applications to run on Windows Server 2003 Service Pack 3.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">  
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">  
    <security>  
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">  
        <requestedExecutionLevel level="asInvoker"/>  
      </requestedPrivileges>  
    </security>  
  </trustInfo>  
</assembly>  

Siehe auchSee Also

C#-CompileroptionenC# Compiler Options
/NoWin32Manifest (C#-Compileroptionen)/nowin32manifest (C# Compiler Options)
Verwalten von Projekt- und ProjektmappeneigenschaftenManaging Project and Solution Properties