Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Следующие параметры определяют способ создания и импорта ресурсов Win32 компилятором C#. Новый синтаксис MSBuild выделен полужирным шрифтом. Для старого синтаксиса csc.exe используется формат code style.
-
Win32Resource /
-win32res: указание файла ресурсов Win32 (RES-файл). -
Win32Icon /
-win32icon: создание ссылки на метаданные из указанного файла или файлов сборки. -
Win32Manifest /
-win32manifest: указание файла манифеста Win32 (XML-файл). -
NoWin32Manifest /
-nowin32manifest: указание не включать манифест Win32 по умолчанию. -
EmbeddedResource /
-resource: внедрение указанного ресурса (короткая форма: /res). -
LinkResource /
-linkresource: свяжите указанный ресурс с этой сборкой.
Примечание.
Дополнительные сведения о настройке этих параметров для проекта см. в разделе "Параметры компилятора".
Win32Resource
Параметр Win32Resource вставляет ресурс Win32 в выходной файл.
<Win32Resource>filename</Win32Resource>
filename — это файл ресурсов, который требуется добавить в выходной файл. Ресурс Win32 может содержать сведения о версии или растровом рисунке (значке), которые помогают определить приложение в проводнике. Если этот параметр не указан, компилятор создает сведения о версиях на основе версии сборки.
Win32Icon
Параметр Win32Icon вставляет файл .ico в выходной файл, который предоставляет выходной файл требуемого внешнего вида в проводнике.
<Win32Icon>filename</Win32Icon>
filename — это файл с расширением .ico, который требуется добавить в выходной файл. Файл .ico можно создать с помощью компилятора ресурсов. Компилятор ресурсов вызывается при компиляции программы Visual C++. Файл .ico создается из RC-файла .
Win32Manifest
Используйте параметр Win32Manifest , чтобы указать определяемый пользователем файл манифеста приложения Win32 для внедрения в переносимый исполняемый файл проекта (PE).
<Win32Manifest>filename</Win32Manifest>
filename — это имя и расположение пользовательского файла манифеста. По умолчанию компилятор C# внедряет манифест приложения, указывающий запрошенный уровень asInvokerвыполнения. Он создает манифест в той же папке, в которой создается исполняемый файл. Если вы хотите предоставить пользовательский манифест, например указать запрошенный уровень highestAvailable выполнения или requireAdministratorиспользуйте этот параметр, чтобы указать имя файла.
Примечание.
Параметр Win32Manifest и параметр Win32Resource являются взаимоисключающими. Если вы пытаетесь использовать оба варианта в одной командной строке, вы получите ошибку сборки.
Приложение, в котором нет манифеста приложения, указывающего запрошенный уровень выполнения, подлежит виртуализации файлов и реестра в компоненте управления учетными записями пользователей в Windows. Дополнительные сведения см. в разделе Контроль учетных записей.
Приложение подлежит виртуализации, если одно из этих условий имеет значение true:
- Вы можете использовать параметр NoWin32Manifest и не предоставлять манифест на более позднем этапе сборки или в файле ресурсов Windows (.res) с помощью параметра Win32Resource.
- Вы можете предоставлять пользовательский манифест, который не определяет запрошенный уровень выполнения.
Visual Studio создает файл по умолчанию с расширением .manifest и сохраняет его в каталогах отладки и выпуска вместе с исполняемым файлом. Пользовательский манифест можно добавить, создав его в любом текстовом редакторе и добавив полученный файл в проект. Вы также можете щелкнуть значок проекта в Обозревателе решений и нажать кнопку Добавить новый элемент, а затем Файл манифеста приложения. После добавления нового или существующего файла манифеста он появится в раскрывающемся списке манифеста . Дополнительные сведения см. в разделе Страница "Приложение" в конструкторе проектов (C#).
Манифест приложения можно предоставить во время пользовательского этапа после сборки или в составе файла ресурсов Win32 с помощью параметра NoWin32Manifest. Этот же параметр можно использовать, если вы хотите, чтобы ваше приложение требовало виртуализации файлов или реестров в Windows Vista.
NoWin32Manifest
С помощью параметра NoWin32Manifest можно указать компилятору не внедрять манифест приложения в исполняемый файл.
<NoWin32Manifest />
При использовании этого параметра приложение подлежит виртуализации на Windows Vista, если вы не предоставляете манифест приложения в файле ресурсов Win32 или на более позднем этапе сборки.
В Visual Studio этот параметр можно задать на странице Свойство приложения, выбрав в раскрывающемся списке Манифест пункт Создать приложение без манифеста. Дополнительные сведения см. в разделе Страница "Приложение" в конструкторе проектов (C#).
EmbeddedResource
Внедряет указанный ресурс в выходной файл.
<EmbeddedResource Include="filename">
<LogicalName>identifier</LogicalName>
<Access>accessibility-modifier</Access>
</EmbeddedResource>
filename — это файл ресурсов .NET, который требуется внедрить в выходной файл.
identifier (необязательно) — это логическое имя ресурса: имя, которое используется для загрузки ресурса. По умолчанию используется имя файла.
accessibility-modifier (необязательно) — это доступность ресурса: public (открытый) или private (закрытый). Значение по умолчанию: public. По умолчанию ресурсы являются общедоступными в сборке при их создании с помощью компилятора C#. Чтобы сделать ресурс закрытым, укажите параметр private в качестве модификатора доступа. Другие специальные возможности не разрешены. Если filename файл ресурсов .NET создан, например ,Resgen.exe или в среде разработки, вы можете получить к нему доступ с помощью элементов в System.Resources пространстве имен. Дополнительные сведения см. в разделе System.Resources.ResourceManager. Чтобы получить доступ ко всем остальным ресурсам во время выполнения, используйте методы GetManifestResource в классе Assembly. Порядок ресурсов в выходном файле поступает из порядка, указанного в файле проекта.
LinkResource
Создает в выходном файле ссылку на ресурс .NET. Файл ресурсов не добавляется в выходной файл. LinkResource отличается от параметра EmbeddedResource , который внедряет файл ресурсов в выходной файл.
<LinkResource Include="filename">
<LogicalName>identifier</LogicalName>
<Access>accessibility-modifier</Access>
</LinkResource>
filename — это файл ресурсов .NET, ссылку на который необходимо создать из сборки.
identifier (необязательно) — это логическое имя ресурса: имя, которое используется для загрузки ресурса. По умолчанию используется имя файла.
accessibility-modifier (необязательно) — это доступность ресурса: public (открытый) или private (закрытый). Значение по умолчанию: public. По умолчанию связанные ресурсы являются общедоступными в сборке при их создании с помощью компилятора C#. Чтобы сделать ресурс закрытым, укажите параметр private в качестве модификатора доступа. Никакие другие модификаторы не разрешены. Если filename файл ресурсов .NET создан, например ,Resgen.exe или в среде разработки, вы можете получить к нему доступ с помощью элементов в System.Resources пространстве имен. Дополнительные сведения см. в разделе System.Resources.ResourceManager. Чтобы получить доступ ко всем остальным ресурсам во время выполнения, используйте методы GetManifestResource в классе Assembly. Файл, указанный в параметре filename, может иметь любой формат. Например, может потребоваться создать собственную библиотеку DLL сборки, чтобы ее можно было установить в глобальный кэш сборок и получить доступ к управляемому коду в сборке. Это действие можно также выполнить в компоновщике сборок. Дополнительные сведения см. в разделах Al.exe (компоновщик сборок) и Работа со сборками и глобальным кэшем сборок.