/win32manifest (C#-Compileroptionen)

Geben Sie mit der /win32manifest-Option an, dass eine benutzerdefinierte Win32-Anwendungsmanifestdatei in die übertragbare ausführbare Datei (Portable Executable, PE) eines Projekts eingebettet werden soll.

/win32manifest: filename

Argumente

  • filename
    Name und Speicherort der benutzerdefinierten Manifestdatei

Hinweise

Standardmäßig bettet der Visual C#-Compiler ein Anwendungsmanifest ein, das die angeforderte Ausführungsebene "asInvoker" angibt. Das Manifest wird in dem Ordner erstellt, in dem die ausführbare Datei erstellt wird. Bei Verwendung von Visual Studio ist dies üblicherweise der Ordner bin\Debug oder bin\Release. Wenn Sie ein benutzerdefiniertes Manifest bereitstellen möchten (z. B. um die angeforderte Ausführungsebene highestAvailable oder requireAdministrator anzugeben), geben Sie den Namen der Datei mit dieser Option an.

HinweisHinweis

Diese Option und die /win32res (C#-Compileroptionen)-Option schließen sich gegenseitig aus.Wenn Sie in derselben Befehlszeile beide Optionen angeben, tritt ein Buildfehler auf.

Eine Anwendung ohne ein Anwendungsmanifest, das die angeforderte Ausführungsebene angibt, unterliegt der Datei-/Registrierungsvirtualisierung der Benutzerkontensteuerung von Windows Vista.Weitere Informationen zur Virtualisierung finden Sie unter The Windows Vista Developer Story: Windows Vista Application Development Requirements for User Account Control (UAC).

Eine Anwendung unterliegt der Virtualisierung, wenn eine der folgenden Bedingungen erfüllt ist:

  • Sie verwenden die /nowin32manifest-Option, und Sie stellen in einem späteren Buildschritt oder als Teil einer RES-Datei (Windows-Ressourcendatei) über die /win32res-Option kein Manifest bereit.

  • Sie stellen ein benutzerdefiniertes Manifest bereit, das keine angeforderte Ausführungsebene angibt.

Visual Studio erstellt eine Standardmanifestdatei und speichert diese zusammen mit der ausführbaren Datei in den Debug- und Releaseverzeichnissen.Sie können ihr eigenes Manifest hinzufügen, indem Sie es in einem Texteditor erstellen und die Datei dann zum Projekt hinzufügen.Alternativ können Sie auch mit der rechten Maustaste auf das Projekt-Symbol im Projektmappen-Explorer klicken, Neues Element hinzufügen auswählen und dann auf Anwendungsmanifestdatei klicken.Nachdem Sie die neue oder bestehende Manifestdatei hinzugefügt haben, wird sie in der Dropdownliste Manifest angezeigt.Weitere Informationen finden Sie unter Seite "Anwendung", Projekt-Designer (C#).

Sie können das Anwendungsmanifest in einem benutzerdefinierten Postbuildschritt oder mit der /nowin32manifest (C#-Compileroptionen)-Option als Teil einer Win32-Ressourcendatei bereitstellen.Verwenden Sie dieselbe Option, wenn Sie möchten, dass Ihre Anwendung auf Windows Vista der Datei- oder Registrierungsvirtualisierung unterliegt.Hierdurch wird verhindert, dass der Compiler ein Standardmanifest erstellt und in die übertragbare ausführbare PE-Datei einbettet.

Beispiel

Das folgende Beispiel enthält das Standardmanifest, das vom Visual C#-Compiler in eine PE eingefügt wird.

HinweisHinweis

Der Compiler fügt die Standardanwendung "MyApplication.app" in die XML-Datei ein.Dies ist eine Problemumgehung, damit Anwendungen auf Windows Server 2003, Service Pack 3 ausgeführt werden.

<?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 auch

Aufgaben

Gewusst wie: Ändern von Projekteigenschaften und Konfigurationseinstellungen

Referenz

/nowin32manifest (C#-Compileroptionen)

Weitere Ressourcen

C#-Compileroptionen