Embedding a binary file inside a class library

后端 未结 2 832
独厮守ぢ
独厮守ぢ 2021-02-13 07:01

Is it possible to embed a custom binary file inside a C# class library and then at runtime read it with a binary reader?

I\'m guessing it might be possible through resou

2条回答
  •  北海茫月
    2021-02-13 08:04

    Yes it is easy:

    Add the file to your project and set the "Build action" to "Embedded resource".

    In your program do

    foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames())
    {
      if (name.EndsWith("", StringComparison.InvariantCultureIgnoreCase))
      {
        using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name))
        {
          // ...
        }
        break;
      }
    }
    

    Finding the right resource is a little bit complicating because there is stuff in front of the file name (namespaces etc. set a breakpoint to the if(...) to see the real resource name).

提交回复
热议问题