C#嵌入动态链接库到可执行文件

C#嵌入动态链接库到可执行文件

将需要被集成的程序集放在项目的lib文件夹中,引用路径从解决方案开始,以“.”连接。

核心代码:

namespace 莫非
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
            {
                string resourceName = "莫非.lib." + new AssemblyName(args.Name).Name + ".dll";
                using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
                {
                    byte[] assemblyData = new byte[stream.Length];
                    stream.Read(assemblyData, 0, assemblyData.Length);
                    return Assembly.Load(assemblyData);
                }
            };
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }
}

 

posted @ 2019-04-28 01:42  明月心~  阅读(426)  评论(0)    收藏  举报