Поделиться через


Свойства файла

Свойства файлов позволяют указывать, какие действия должны выполняться над файлами в системе работы с проектами. Например, путем задания свойств файла можно указать, следует ли компилировать файл или включать его в выходные данные построения проекта в качестве ресурса.

Можно выбрать любой файл в обозревателе решений, а затем проверить его свойства в окне "Свойства". Файлы Visual Basic и Visual C# имеют четыре свойства: Имя файла, Действие при построении, Специальный инструмент и Пространство имен специального инструмента.

Примечание

Свойства Действие при построении, Специальный инструмент и Пространство имен специального инструмента предусмотрены для расширенных сценариев.Обычно достаточно использовать значения по умолчанию и вносить изменения не требуется.

Свойство "Имя файла"

Файл можно переименовать, щелкнув свойство Имя файла в окне "Свойства" и введя новое имя. Обратите внимание, что при изменении имени файла среда разработки Visual Studio автоматически переименовывает все связанные с ним файлы VB и RESX.

Свойство "Действие при построении"

Свойство Действие при построении указывает, что среда Visual Studio делает с файлом при выполнении построения. Свойство Действие при построении может принимать одно из следующих значений.

  • None — файл не включается в выходную группу проекта и не компилируется в процессе построения. Примером такого файла является текстовый файл документации, например файл Readme.

  • Compile — файл компилируется в выходные файлы построения. Эта настройка используется для файлов кода.

  • Content — файл не компилируется, но включается в выходную группу "Содержимое". Этот вариант используется по умолчанию для файлов HTM и других веб-файлов.

  • Embedded Resource — файл внедряется в основные выходные файлы построения проекта в виде DLL или исполняемого файла. Обычно это значение используется для файлов ресурсов.

    Примечание

    Свойство Действие при построении является расширяемым.В результате для этого свойства могут отображаться дополнительные параметры, добавленные другими продуктами и функциями.

Значение по умолчанию свойства Действие при построении зависит от расширения файла, добавляемого в решение. Например, при добавлении проекта Visual Basic в Обозреватель решений значение по умолчанию свойства Действие при построенииКомпилировать. Это происходит потому, что расширение VB указывает, что это — файл кода, который может быть скомпилирован. Имена файлов и их расширения отображаются в обозревателе решений.

Следует заметить, что имя файла в проекте не будет использоваться в качестве идентификатора управляемого ресурса в манифесте сборки (дополнительные сведения см. в разделе Манифест сборки). Идентификатор будет иметь вид пространство_имен.имя_файла.расширение, где пространство_имен — значение свойства DefaultNamespace в проекте Visual C# или RootNamespace в проекте Visual Basic. имя_файла и расширение сохраняют свои исходные значения. Если файл имеет расширение RESX, система работы с проектами запустит для него программу resgen.exe, создающую файл RESOURCE. Файл RESOURCE будет внедрен в сборку. Таким образом манифест сборки будет ссылаться на файл RESOURCES, а не на файл RESX.

Например, при добавлении файла MyFile.bmp в проект с пространством имен по умолчанию MyProj и при установки в качестве действия при построения значения Embedded Resource идентификатор в манифесте сборки будет иметь вид MyProj.MyFile.bmp. Если затем добавить в проект файл MyFile.resx, то действием по умолчанию при построении будет Embedded Resource, а идентификатор в манифесте сборки примет вид MyProj.MyFile.resources.

Обратите внимание, что когда редактор ресурсов добавляет изображение, задается значение Build Action, равное None, так как файл RESX ссылается на файл рисунка. Во время построения изображение заносится в файл RESOURCES, созданный из файла RESX. После этого изображение станет доступным через типобезопасный класс, автоматически сгенерированный из файла RESX. Таким образом, не следует менять этот параметр на Embedded Resource, поскольку в противном случае изображение будет включено в сборку дважды.

Дополнительные сведения о доступе к файлам ресурсов (скомпилированных из файлов RESX) во время выполнения см. в разделе ResourceManager. Дополнительные сведения о доступе ко всем другим внедренным файлам и ресурсам во время выполнения см. в разделе GetManifestResourceStream.

Свойство "Копировать в выходной каталог"

Это свойство задает условия, при которых выбранный файл исходного кода будет скопирован в выходной каталог. Выберите значение Do not copy, если файл никогда не должен скопироваться в выходной каталог. Выберите Copy always, если файл всегда должен копироваться в выходной каталог. Выберите Copy if newer, если требуется скопировать файл, только если он имеет более позднюю дату изменения, чем существующий файл с таким же именем в выходном каталоге.

Дополнительные сведения об изменении выходного каталога см. в разделе Страница "Построение" в конструкторе проектов (C#) или Страница "Компиляция" в конструкторе проектов (Visual Basic).

Примечание

В проектах для смарт-устройств новизна файла DLL или EXE определяется путем сравнения версий Win32 следующим образом.

Если версия файла со стороны устройстве меньше, чем версия со стороны настольной системы, файл копируется.

Если версия файла со стороны устройстве больше, чем версия со стороны настольной системы, файл не копируется.

Если версии совпадают, выполняется сравнение контрольных сумм.Если контрольные суммы совпадают, файл не копируется.Если контрольные суммы различаются, файл копируется.

Новизна других файлов, кроме DLL и EXE, определяется только их контрольной суммой.

Примечание

Файлы данных будут скопированы во вложенную папку с именем Data Files в выходном каталоге.

Свойство "Специальный инструмент"

Специальные инструменты представляют собой компоненты, которые могут использоваться для преобразования файлов из одного типа в другой в режиме разработки. Например, специальным инструментом может быть генератор кода набора данных, который считывает данные из файла XML-схемы (XSD) и создает в файле кода классы, обеспечивающие программный доступ к таблицам и столбцам этой схемы. В продукте предусмотрен список предварительно определенных специальных инструментов; данное свойство позволяет узнать, какой из этих специальных инструментов должен быть применен к файлу. В редких случаях может возникнуть необходимость изменить значение этого свойства. Значение данного свойства должно быть либо пустым, либо указывать один из стандартных специальных инструментов.

Чтобы задать или изменить специальный инструмент, следует выбрать свойство CustomTool в окне "Свойства" и ввести имя инструмента.

Свойство "Пространство имен специального инструмента"

Если имеется специальный инструмент, назначенный проекту, свойство Пространство имен специального инструмента позволяет задать пространство имен, которое требуется назначить коду, создаваемому этим специальным инструментом. После присвоения значения свойству Пространство имен специального инструмента созданный инструментом код размещается в указанном пространстве имен. Если свойство остается пустым, созданный код помещается в пространство имен по умолчанию для папки, в которой находится преобразованный файл. Для Visual Basic это корневое пространство имен проекта, а для Visual C# это соответствует значению свойства DefaultNamespace папки.

См. также

Основные понятия

Типы и расширения файлов в Visual Basic и Visual C#

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

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

Шаблоны проектов в Visual Studio по умолчанию

Конфигурации отладки и выпуска проекта