想将引用的DLL打包为一个文件,如何处理? 呵呵,是用了DB的DLL,不想张扬被发现,才出此下策。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用GZipStream(.NET自带类) 先把DLL文件压缩,然后在程序运行的时候动态的解压文件到运行目录再动态引用DLL Knight94(愚翁) 最近怎么不大现身了 hbxtlhx(平民百姓):但在运行过程中仍有DLL出现,如何避免出现在硬盘? 如果真的要不出现的话,有一个办法可以做到,那就是动态编译的技术.就是把代码文件作为程序的资源(可以加密),然后在程序运行的时候读出这些代码文件做为字符串(有三种动态编译方式)然后传给动态编译器,动态编译器编译完成后可以在内存中生成可以被动态调用的Assembly.这样的话就没有任何的DLL出现在磁盘上了. 这个动态编译的技术,可以参考.NET的CSharpCodeProvider类,如:CSharpCodeProvider provider = new CSharpCodeProvider();CompilerParameters cp = new CompilerParameters();foreach (string us in usings){ cp.ReferencedAssemblies.Add(us);}cp.GenerateExecutable = false;cp.OutputAssembly = null;cp.GenerateInMemory = true;CompilerResults cr = provider.CompileAssemblyFromSource(cp, source);if (cr.Errors.Count > 0){}else{} GenerateExecutable,GenerateInMemory 及CompileAssemblyFromSource是楼主问题的关键. to 是用了DB的DLL,不想张扬被发现,才出此下策。不会用了有版权的dllto leohuang(LEO)前一段比较忙,最近稍微好些。 hbxtlhx(平民百姓):谢谢你的思路。 是不想让别人看到我用了哪些DLL C#如何读取这种XML文件? 新手求教有关C#占位符的问题 web services 进入窗体后会自动打开输入法,请教怎么关闭这个功能? GDI+画图问题 在WEB页面中GRIDVIEW问题 C# 如何编程实现将word, excel(可能包含多个sheet),pdf转化成为文本文件(txt) 请问用installshield做成一个文件的安装程序!谢谢 怎么样调用DataGrid_EditCommand方法 在C#里,用什么函数将"88"转换成数字88? 除了msdn,还有哪些网站介绍.net的API? 如何修改另一个类中的数据? 如何解决C#中COMBOX的问题
就是把代码文件作为程序的资源(可以加密),然后在程序运行的时候读出这些代码文件做为字符串(有三种动态编译方式)然后传给动态编译器,动态编译器编译完成后可以在内存中生成可以被动态调用的Assembly.这样的话就没有任何的DLL出现在磁盘上了.
CompilerParameters cp = new CompilerParameters();
foreach (string us in usings)
{
cp.ReferencedAssemblies.Add(us);
}
cp.GenerateExecutable = false;
cp.OutputAssembly = null;
cp.GenerateInMemory = true;CompilerResults cr = provider.CompileAssemblyFromSource(cp, source);
if (cr.Errors.Count > 0)
{
}
else
{
}