Visual Studio文件属性的生成操作(无,编译,内容,嵌入的资源)

节选自这里

生成操作(BuildAction) 属性:BuildAction 属性指示 Visual Studio .NET 在执行生成时对文件执行的操作。BuildAction 可以具有以下几个值之一: 

无(None) - 不在项目输出组中包含该文件,并且在生成进程中不会对其进行编译。例如包含文档的文本文件,如自述文件。发布之后它就没有了。

编译(Compile) - 将该文件编译到生成输出中。此设置用于代码文件。 

内容(Content) - 不编译该文件,但将其包含在“内容”(Content) 输出组中。例如,此设置是 .htm 或其他类型 Web 文件的默认值。 不编译,但是发布之后会原样输出。

嵌入的资源(Embedded Resource) - 将该文件作为 DLL 或可执行文件嵌入主项目生成输出中。此设置通常用于资源文件。例如NHibernate的映射文件。

生成操作的默认值取决于添加到解决方案中的文件的扩展名。例如,如果将 Visual C# 项目添加到解决方案资源管理器中,则安装操作的默认值是”编译”,因为扩展名 .CS 指示可编译的代码文件。文件名和扩展名出现在解决方案资源管理器中。

为什么要使用嵌入的资源,使用嵌入的资源可以在代码之中使用此资源文件。

例如:GetType().Assembly.GetManifestResourceStream(assembleName + ".AppDesc.xml");

Assembly asm = Assembly.GetExecutingAssembly();
string name = asm.GetName().Name;
Bitmap bmp = new Bitmap(asm.GetManifestResourceStream(name + ".f6.jpg"));

如此,可以在代码中使用此资源文件。

嵌入的资源的名称必须遵守特定的规则:命名空间名称+目录名称+文件名称,中间用半角点字符分割。

之所以想到这个问题是在ABP的集成swagger中,需要将Swagger-Custom.js设置为嵌入的资源。

posted @ 2018-03-19 09:25  双子牧场主  阅读(2524)  评论(0编辑  收藏  举报