節選自這里
生成操作(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設置為嵌入的資源。