可以使用文件属性指示哪些操作项目系统应对文件执行。 例如,可以设置文件属性指示是否应生成或文件嵌入到生成输出作为资源。
可以在解决方案资源管理器中选择所有文件然后检查它的 " 属性 " 窗口中的属性。 Visual Basic 和 Visual C# 文件有四个属性: 文件名、 生成操作、 自定义工具和 自定义工具命名空间。
“生成操作” 属性指示 Visual Studio 对文件,在生成时。 生成操作 可以有多个值之一:
-
无 - 文件不在项目输出组中生成中包含和未生成过程。 示例是包含文档的文本文件,如自述文件。
-
编译 - 将该文件编译到生成输出。 此设置用于代码文件。
-
内容 - 文件不在内容输出组中生成,但是,包括。 例如,设置为 .htm 或其他 Web 文件的默认值。
-
嵌入的资源 - 此文件嵌入主项目生成输出中。作为 DLL 或可执行文件。 此设置通常用于资源文件。
Note
生成操作 属性是可扩展的。 因此,您可以看到为此属性由其他产品和功能添加的列表的其他选项。
生成操作 的默认值取决于添加到解决方案中的文件的扩展名。 例如,因此,如果添加一个 Visual Basic 项目添加到解决方案资源管理器中, 生成操作 的默认值为 编译。 这是因为,扩展名为 .vb 指示可编译的代码文件。 文件名和扩展名出现在解决方案资源管理器。
请注意文件的名称在项目中不是托管资源的标识符在程序集清单 (请参见 程序集清单 有关更多信息)。 该标识符是 namespace.filename.extension, 命名空间 是 DefaultNamespace 属性或在 Visual Basic 项目的 RootNamespace 属性的值在 Visual C# 项目中。 fileName 和 扩展 保留其原来的名称。 如果文件是 .resx 文件,则项目系统将对该文件运行 resgen.exe,创建一个 .resource 文件。 .resource 文件将嵌入到程序集中。 因此,程序集清单将引用 .resources 文件而不是 .resx 文件。
请注意,在资源编辑器中添加一个图像,它将设置 生成操作 到 无,,因为 .resx 文件引用图像文件。 在生成时,该图像会被拖入 .resources 文件是在 .resx 文件外部。 图像可以通过为 .resx 文件自动生成的强类型类轻松然后访问。 因此,,因为这样做在程序集中,将包括图像两次不应更改此设置。 嵌入的资源。
有关访问资源文件 (生成从 .resx 文件) 在运行时的更多信息,请参见 ResourceManager。 有关访问其他嵌入文件和资源在运行时的更多信息,请参见 GetManifestResourceStream。
“复制到输出目录 ”属性
此特性指定将选定的源文件复制到输出目录的条件。 ,如果文件从未复制到输出目录,选择 不复制 。 文件,则总是复制到输出目录,选择 始终复制 。 选择 如果较新则复制 ,如果文件被复制,才会比同名的现有文件新在输出目录中。
有关更改输出目录的信息,请参见 “项目设计器”->“生成”页 (C#) 或 “项目设计器”->“编译”页 (Visual Basic)。
"自定义工具 " 属性
自定义工具是可用于将文件从一种类型转换为另一种在设计时的元素。 例如,自定义工具可以是一个写入一个 XML 架构的数据集代码生成器 (.xsd) 文件并生成在以编程方式公开其表和列的代码文件的类。 具有预定义的自定义工具列表可用在该产品;此属性使您能够了解哪一个自定义工具适用于文件。 在极少数情况下,您可能必须更改此属性的值。 此属性的值必须为空白或某个内置自定义工具。
若要设置或更改自定义工具,请单击 " 属性 " 窗口的 CustomTool 属性并键入自定义工具的名称。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
如果您有一个自定义工具指派给您的项目, 自定义工具命名空间 属性可以指定要分配给自定义工具生成的代码的命名空间。 当为 自定义工具命名空间 属性指定值时,工具生成的代码在指定的命名空间中。 如果属性为空,生成的代码在转换的文件的文件夹的默认命名空间中。 对于 Visual Basic,这是项目的根命名空间; 对于 Visual c#,这对应于将该文件夹的 DefaultNamespace 属性。