方法一:
1.在项目目录下新建Resources文件夹,并将dll放入其中:
2.在项目资源中嵌入该dll:
3.在项目目录中选中该dll,在其属性中的“生成操作” 选择 “嵌入的资源”:
4.在窗口方法中以及上边添加以下代码:
Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");
dllName = dllName.Replace(".", "_");
if (dllName.EndsWith("_resources")) return null;
System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", Assembly.GetExecutingAssembly());
byte[] bytes = (byte[])rm.GetObject(dllName);
return Assembly.Load(bytes);
}
public Form1()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
InitializeComponent();
}
方法二:
1.在VS中,通过Nuget搜索安装Costura.Fody。
2.重新生成项目,需要的dll就自动的集成到了exe里。