从程序集中读取嵌入文件

我必须将配置文件的路径传递给框架方法(Gurok SmartInspect)。 配置文件是程序集的嵌入式资源。 目前我从程序集中读取文件并将其存储在外部,然后传递路径名。 有没有更好/更复杂的方式来实现这个目标,而不复制文件?

    private static void ConfigLogger()
    {
        const string embeddedFileName = "xxx.SmartInspect.properties";
        const string configFileName = "SmartInspect.properties";
        ExtractFileFromAssembly(embeddedFileName, configFileName);
        SiAuto.Si.LoadConfiguration(configFileName);
    }

    private static void ExtractFileFromAssembly(string assemblyFileName, string configFileName)
    {
        using (Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream(assemblyFileName) )
        {
            byte[] buffer = new byte[s.Length];
            int read = s.Read(buffer, 0, (int)s.Length);
            using (FileStream fs = new FileStream(configFileName, FileMode.Create))
            {
                fs.Write(buffer, 0, buffer.Length);
            }
        }
    }

如果Gurok SmartInspect读取配置信息的唯一方法是从一个文件传递给您的路径,并且您决定将该文件嵌入到程序集中,那么是的,您的方法没问题。 你可能想考虑添加一些异常处理,但否则我没有看到这个问题。

链接地址: http://www.djcxy.com/p/53659.html

上一篇: Read embedded file from assembly

下一篇: Debugging Windows CE Device from Windows 10 with Visual Studio 2008