C#编译多个DLL和EXE文件为一个exe可执行程序
					当前位置:点晴教程→知识管理交流
					
					→『 技术文档交流 』
					
				 
				
 去掉生成的 XXX.vshost.exe XXX.vshost.exe.config XXX.vshost.exe.manifest文件。 
选中工程右键属性->调试 
去掉启用调试器下的 启用Visual Studio承载进程勾选: 
去掉生成的XXX.pdb文件 
1.选中工程右键属性->生成->高级 
2.设置高级生成设置中的输出->调试信息为none 
将dll嵌入到程序中 
1.将dll包括在项目中在属性里设置“生成操”为“嵌入的资源”,“复制到输出目录”为“不复制”; 
2.添加引用,在引用那里右键属性选择复制到本地为False; 
3.在Main函数中订阅AppDomain.CurrentDomain.AssemblyResolve。 
添加代码如下: 
 private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 
        { 
            String resourceName = "应用程序名.dll所在目录." + new AssemblyName(args.Name).Name + ".dll"; 
            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) 
            { 
                if (stream == null) 
                    return null; 
                Byte[] assemblyData = new Byte[stream.Length]; 
                stream.Read(assemblyData, 0, assemblyData.Length); 
                return Assembly.Load(assemblyData); 
            } 
        } 
去除输出目录.config文件 
将工程中App.config文件改为其它名称,例如:Default.config  ,内部需要使用。 
去除.config参考 
已经做了上面设置后编译会生成两个文件XXX.exe 和XXX.exe.config文件 XXX.exe.config文件最好不要删除。 	
	
该文章在 2021/7/1 10:52:27 编辑过  | 
		
			 关键字查询 
				相关文章 
				正在查询...  |