/win32manifest (импорт пользовательского файла манифеста Win32) (параметры компилятора C#)

Обновлен: Ноябрь 2007

Параметр /win32manifest используется для указания пользовательского файла манифеста приложения Win32, который необходимо внедрить в PE-файл проекта.

/win32manifest: filename

Аргументы

  • filename
    Имя и расположение пользовательского файла манифеста.

Заметки

По умолчанию компилятор Visual C# внедряет манифест приложения, который указывает запрошенный уровень "asInvoker". Он создает манифест в той же папке, в которой создан исполняемый файл, обычно в папке bin\Debug или bin\Release при использовании Visual Studio. Если необходимо, чтобы пользовательский манифест, например, указывал запрошенный уровень выполнения "highestAvailable" или "requireAdministrator", используйте этот параметр для задания имени файла.

Bb545961.alert_note(ru-ru,VS.90).gifПримечание.

Этот параметр и параметр /win32res (импорт файла ресурсов Win32) (параметры компилятора C#) являются взаимоисключающими. При попытке использовать оба параметра в одной командной строке создается ошибка построения.

К приложению, не имеющему манифеста приложения, который указывает запрошенный уровень выполнения, будет применена виртуализация путей в реестре и файловой системе в рамках функции контроля учетных записей Windows Vista. Дополнительные сведения о виртуализации см. в статье Статья для разработчиков под Windows Vista: требования к разработке приложений с точки зрения механизма управления учетными записями пользователей (UAC).

Приложение подлежит виртуализации, если выполняется одно из указанных ниже условий.

  • Если используется параметр /nowin32manifest, но не предоставляется манифест на более позднем этапе построения или в составе файла ресурсов Windows (RES-файла) с помощью параметра /win32res.

  • Необходимо предоставить пользовательский манифест, который не указывает запрошенный уровень выполнения.

Среда Visual Studio создает стандартный MANIFEST-файл и сохраняет его в каталоге отладки и выпуска наряду с исполняемым файлом. Пользовательский манифест можно добавить, создав его в любом текстовом редакторе и добавив полученный файл к проекту. Можно также щелкнуть правой кнопкой мыши значок Проект в обозревателе решений, выбрать команду Добавить новый элемент, а затем щелкнуть пункт Файл манифеста приложения. После добавления нового или существующего файла манифеста этот файл появится в раскрывающемся списке Манифест. Дополнительные сведения см. в разделе Страница "Приложение" в конструкторе проектов (C#).

Можно предоставить манифест приложения в качестве пользовательского этапа, выполняемого после построения, или в составе файла ресурсов Win32 с помощью параметра /nowin32manifest (запрет манифеста Win32) (параметры компилятора C#). Используйте этот же параметр, если требуется приложение, которое будет использовать файл или системный реестр виртуализации в Windows Vista. Это не позволит компилятору создать манифест по умолчанию и внедрить его в PE-файл.

Пример

В следующем примере показан манифест, который компилятор Visual C# по умолчанию вставляет в PE-файл.

Bb545961.alert_note(ru-ru,VS.90).gifПримечание.

Компилятор вставляет стандартное имя приложения "MyApplication.App" в XML-файл. Это делается для того, чтобы позволить приложениям работать в Windows Server 2003 с пакетом обновления 3 (SP3).

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

См. также

Ссылки

/nowin32manifest (запрет манифеста Win32) (параметры компилятора C#)

Другие ресурсы

Параметры компилятора C#

Свойства проекта (Visual Studio)