读取在项目中手动添加的文件作为Visual Studio中的资源

时间:2013-07-08 09:25:57

标签: c# winforms visual-studio

在我的解决方案中,对于其中一个项目,我必须添加二进制文件并在form_load事件中阅读其内容。

正如您在图片中看到的,我已将其添加到相应的项目中,并将Build Action设置为ContentCopy to Output DirectoryCopy Always

现在可以somone请告诉我如何访问此文件?

    private void SetupForm_Load(object sender, EventArgs e)
    {
        //Find the path to file then
        //READ THE FILE            
    }

enter image description here

5 个答案:

答案 0 :(得分:1)

现在,您应该在构建项目后在输出目录中找到此文件。给定文件的正确路径,您可以使用任何所需的方法访问此文件。

某些方法可以帮助您获取文件的路径:

  • Directory.GetCurrentDirectory();
  • Environment.CurrentDirectory

答案 1 :(得分:1)

我不确定你要对这个文件做什么,这将决定你最好的方法。根据答案here,您有几个选择。换句话说:

答案 2 :(得分:1)

到目前为止,我认为最好的方法就是这样:

因此,当我将文件添加到项目中时,它将与项目的exetubale文件所在的文件夹位于同一文件夹中。因此,为了获取路径(包括我必须使用Application.ExecutablePath的exetuable文件的名称,并删除文件名并拥有文件夹的纯路径,我必须使用Path.GetDirectoryName(),最后添加文件名I想要访问此路径,如下所示:

var path = Path.GetDirectoryName(Application.ExecutablePath) + "\\YourFileName.bin";

答案 3 :(得分:0)

您调用以读取文件的API取决于文件类型。但一般模式是这样的。

private void SetupForm_Load(object sender, EventArgs e)
{
    System.IO.Stream input = Application.GetResourceStream(new Uri @"/MyApp;component/content.bin", UriKind.Relative)).Stream;
    BinaryReader binaryReader = new BinaryReader(input);
}

答案 4 :(得分:0)

您可以直接从附加为资源的文件中读取字节。此示例中的资源是SampleWordnew文档。

byte [] bob = ReadBytesfromResources.Properties.Resources.SampleWordnew;