繁体   English   中英

DLL加载时复制资源图标

[英]Copy Resource icon on dll load

我有一个C#程序集,其资源文件包含一个图标。 如何在每次加载时将资源复制到调用者目录。 当我编译程序集时,它可以很好地复制...但是我需要在程序集的每次加载时都进行复制,以便调用的可执行文件可以使用它。(当可执行文件卸载时,资源文件夹将被删除)

您可以嵌入资源文件,并在每次加载程序集时将其写出。 在Visual Studio解决方案资源管理器的文件属性中,将资源文件设置为具有等于“嵌入式资源”的“生成操作”。

那么您可以使用以下内容将其解压缩:

        private static string _srvExePath;
        private static void UnpackFiles()
        {
            if (!Directory.Exists(_srvExePath))
            {
                Directory.CreateDirectory(_srvExePath);
            }

            Stream s1 = Assembly.GetExecutingAssembly().GetManifestResourceStream( assmblyname +"."+ resourcefile);
            byte[] b1 = new byte[s1.Length];
            s1.Read(b1, 0, (int)s1.Length);

            File.WriteAllBytes(_srvExePath + file, b1);
            //Console.WriteLine("unpacking: " + _srvExePath + file);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM