Свойства проекта: раздел Application в Visual Studio

63

Для того чтобы открыть свойства проекта, нужно щелкнуть правой кнопкой мыши на узле Project в окне Solution Explorer и выбрать команду Properties либо дважды щелкнуть на узле My Project (или Properties, если проект создается на языке C#), расположенном под узлом Project. В отличие от свойств решения свойства проекта отображаются не в модальном окне, а на дополнительной закладке, расположенной рядом с исходными файлами. Это сделано отчасти для того, чтобы было легче перемещаться между файлами программы и свойствами проекта, а отчасти для того, чтобы можно было одновременно открыть свойства нескольких проектов.

На рисунке ниже показаны настройки проекта, имеющего тип C# WPF. В этом разделе можно пройти по всем вертикальным закладкам редактора проекта как для проектов на языке Visual Basic, так и для проектов на языке C#.

Редактор свойств проекта содержит ряд вертикальных закладок, группирующих свойства. Если свойство на закладке было изменено, то на соответствующей вертикальной закладке добавляется звездочка. Однако эта функциональная возможность ограничена, поскольку она не позволяет понять, какие именно поля на закладке были изменены.

Закладка Application, показанная на рисунке выше, позволяет разработчику вводить информацию о сборке, которая будет создана в ходе компиляции проекта. К этой информации относятся такие атрибуты, как тип вывода (т.е. Windows или Console Application, Class Library, Windows Service или Web Control Library), пиктограмма приложения и запускаемый объект. Закладка Application для приложений C# предоставляет также возможность выбрать целевую версию платформы .NET Framework.

Информация о сборке

Атрибуты, которые ранее задавались вручную в файле AssemblyInfo, содержащемся в проекте, теперь можно задать также с помощью кнопки Assembly Information. Это важная информация, поскольку она отображается в момент инсталляции приложения и при просмотре свойств файла в окне Windows Explorer. На рисунке ниже, слева, показана информация о сборке для простого приложения, а справа - свойства скомпилированного выполняемого файла, которые можно открыть в проводнике Windows:

Информация о сборке, настраиваемое во вкладке Application

Каждый из наборов свойств в диалоговом окне Assembly Information представляется атрибутом, который применяется ко всей сборке. Это значит, что из кода можно послать запрос к сборке и извлечь эту информацию. При работе с языком Visual Basic простой способ извлечения этой информации обеспечивает пространство имен My.Application.Info, а в языке C# - класс System.Reflection.Assembly.

Настройки User Account Control

Система Visual Studio 2013 поддерживает разработку приложений, работающих с компонентом User Account Control (UAC) под управлением операционных систем Windows Vista и выше. Этот процесс включает в себя генерирование манифестного файла сборки, представляющего собой XML-файл, уведомляющий операционную систему о запросах приложения на получение административных привилегий при запуске приложения. Для генерации учетной записи пользователя и добавления манифестного файла сборки в приложение пользователя используется кнопка View Windows Settings на закладке Application. В следующем коде продемонстрирован манифестный файл, сгенерированный по умолчанию системой Visual Studio.

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" 
    xmlns="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <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">
        <!-- UAC Manifest Options
            Если вы хотите изменить уровень допуска Windows User Account Control,
			замените узел requestedExecutionLevel одним из следующих.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            Если вы хотите обеспечить обратную совместимость с помощью 
			технологии File and Registry Visualization,
			удалите узел requestedExecutionLevel. 
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
    </application>
  </compatibility>

</asmv1:assembly>

Если значение запрошенного уровня исполнения, заданное по умолчанию, было изменено с asInvoker на requireAdministrator, то система Windows при запуске приложения выдаст приглашение UAC. Если запросы UAC допускаются и приложение, требующее прав администратора, запущено в режиме Debug, то система Visual Studio 2013 также выведет приглашение на повторный запуск с правами администратора. На рисунке ниже показано приглашение, свидетельствующее о том, что система Windows позволяет перезапустить среду Visual Studio с правами администратора:

Настройка прав администратора для среды Visual Studio

Если пользователь согласен на повторный запуск, то система Visual Studio будет не только перезапущена и предоставит пользователю права администратора, но и заново откроет решение, включая все ранее открытые файлы. Она даже запомнит позицию курсора, в которой он находился до перезапуска.

Настройки программных компонентов Application Framework (только для языка Visual Basic)

В проектах типа Visual Basic Windows Forms можно задавать дополнительные настройки, поскольку они используют набор программных компонентов Application Framework, предназначенный исключительно для языка Visual Basic. Это позволяет расширить стандартную событийную модель и обеспечить ряд событий, происходящих с приложением, а также настройки, управляющие поведением этого приложения. Для того чтобы получить доступ к набору программных компонентов Application Framework, необходимо установить флажок Enable Application Framework. Имеются три флажка, управляющих поведением набора компонентов Application Framework:

Enable XP Visual Styles

Визуальные стили XP представляют собой свойство, которое значительно улучшает внешний вид и впечатление от приложения, выполняемого под управлением операционной системы Windows XP или систем Windows более поздних версий, поскольку они сглаживают углы используемых кнопок и элементов управления, динамически изменяющих цвет при прохождении над ними курсора мыши. В приложениях на языке Visual Basic стили XP доступны по умолчанию и могут быть отключены с помощью диалогового окна Project Settings. Кроме того, ими можно управлять из кода с помощью метода EnableVisual Styles в классе Application.

Make Single Instance Application

Большинство приложений поддерживает параллельное выполнение нескольких экземпляров приложения. Однако некоторые приложения, открытые более двух или трех раз, могут быть запущены только последовательно, и в таких случаях при каждом выполнении просто вызывается их оригинальный вариант. Таким приложением может быть редактор документов, причем при каждом его новом выполнении просто открывается новый документ. Это функциональное свойство можно легко добавить, указав, что приложение может существовать только в одном экземпляре.

Save My.Settings on Shutdown

Выбрав команду Selecting the Save My.Settings on Shutdown, пользователь гарантирует, что любые изменения, внесенные в пользовательских настройках, будут сохранены до завершения выполнения приложения.

Раздел настройки программных компонентов Application Framework также позволяет выбрать режим аутентификации для приложения. По умолчанию он настроен на операционную систему Windows и текущего зарегистрированного пользователя. Выбрав команду Application-defined, пользователь может использовать свой собственный модуль аутентификации. Он может также идентифицировать форму, которую следует использовать в качестве заставки при первом запуске приложения, и задать поведение приложения по завершении его работы.

Пройди тесты
Лучший чат для C# программистов