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


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

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

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

Можно выбрать любой файл в Обозревателе решений, а затем проверить его свойства в окне "Свойства". Файлы Visual Basic и Visual C# имеют четыре свойства: FileName, BuildAction, CustomTool и CustomToolNamespace.

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

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

Свойство FileName (имя файла)

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

Свойство BuildAction (действие при построении)

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

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

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

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

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

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

Следует заметить, что имя файла в проекте не будет использоваться в качестве идентификатора управляемого ресурса в манифесте сборки (дополнительные сведения см. в разделе Манифест сборки). Идентификатор будет иметь вид пространство_имен.имя_файла.расширение, где пространство_имен — значение свойства DefaultNamespace в проекте Visual C# или RootNamespace в проекте Visual Basic .NET. имя_файла и расширение сохраняют свои исходные значения. Если файл имеет расширение 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. Дополнительные сведения о доступе ко всем остальным внедренным файлам и ресурсам во время выполнения см. в разделе Метод Assembly.GetManifestResourceStream.

Свойство CopyToOutputDirector (копировать в выходной каталог)

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

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

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

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

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

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

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

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

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

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

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

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

Свойство CustomToolNamespace (пространство имен специального инструмента)

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

См. также

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

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

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

Ссылки

Свойство строки подключения, диалоговое окно "Свойства файла" (устройства)

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

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