如何在C#中访问资源文件?

38

我已将.zip文件添加到我的资源中,如何访问该zip文件?

2个回答

75
将资源添加到项目属性中(您已经完成了此步骤)...
然后很简单...
var zipFile = MyNamespace.Properties.Resources.My_Zip_File;

27
抱歉,下次我会用气泡纸包起来。 - Gabe
13
@Gabe 我同意这个答案是好的和可以接受的,但我认为如果明确显示类型而不是使用 var,它会更有见地。 - tobiak777
当在同一命名空间中时,可以省略它。 - Markus Zeller
7
My_Zip_File的返回类型是什么?它是路径字符串、二进制、流或路径对象吗? - chris31389

9

Visual Studio Community 2015的解答:

  1. 项目->属性->资源->文件中,添加My_Zip_File.zip,通过在解决方案资源管理器中双击属性来访问。
  2. 定位解决方案资源管理器->资源->My_Zip_File.zip,单击此项并查看属性生成操作="None"和复制到输出目录="始终复制"。

该文件现在可以通过程序进行访问。路径和文件是调试时程序集的一部分,并且当程序以最终发布形式安装时也是如此。与使用绝对路径相比,它具有优势。C#示例头文件:

using System.IO;
using System.Reflection;

示例 C# 代码:

String strAppPath = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
String strFilePath = Path.Combine(strAppPath, "Resources");
String strFullFilename = Path.Combine(strFilePath, "My_Zip_File.zip");

例如,我们可以将文件作为流读取,也可以使用strFullFileName打开文件。

参考来源


当我在步骤2中将“Build Action”设置为“Content”时,它对我来说运行良好。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接