把DLL文件打包進(jìn)EXE的操作技巧
更新時(shí)間:2013年02月04日 08:51:02 作者:
用VS2005建立一個(gè)windows項(xiàng)目,取名test,之后把生成DLL文件打包進(jìn)EXE,接下來介紹詳細(xì)的操作技巧,感興趣的朋友可以了解下啊,或許對(duì)你有所幫助
廢話就不多說了,直接進(jìn)入主題吧
用VS2005建立一個(gè)windows項(xiàng)目,取名test
引用dll文件
編寫代碼,正常引用dll里的類庫,
同時(shí)在test項(xiàng)目添加資源文件(該文件就是剛才引用的dll文件)
VS2005會(huì)自動(dòng)生成引用代碼,我這里引用的是IrisSkin2.dll
internal static byte[] IrisSkin2 {
get {
object obj = ResourceManager.GetObject("IrisSkin2", resourceCulture);
return ((byte[])(obj));
}
}
然后在Main(program.cs)函數(shù)里加入代碼
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string path = Application.StartupPath + "\";
string dllFileName = "IrisSkin2.dll";
//******加載IrisSkin2.dll******
if (!File.Exists(path + dllFileName)) //文件不存在
{
FileStream fs = new FileStream(path + dllFileName, FileMode.CreateNew, FileAccess.Write);
byte[] buffer = GetData.Properties.Resources.IrisSkin2;//{GetData是命名空間}
fs.Write(buffer, 0, buffer.Length);
fs.Close();
}
//*****************************
Application.Run(new GDForm());
}
編譯test項(xiàng)目,生成exe文件,然后刪除引用的dll文件(注意是先編譯,再刪除)
復(fù)制該exe文件就可以在別的地方運(yùn)行了(不用dll,運(yùn)行EXE會(huì)自動(dòng)生成DLL文件)
用VS2005建立一個(gè)windows項(xiàng)目,取名test
引用dll文件
編寫代碼,正常引用dll里的類庫,
同時(shí)在test項(xiàng)目添加資源文件(該文件就是剛才引用的dll文件)
VS2005會(huì)自動(dòng)生成引用代碼,我這里引用的是IrisSkin2.dll
復(fù)制代碼 代碼如下:
internal static byte[] IrisSkin2 {
get {
object obj = ResourceManager.GetObject("IrisSkin2", resourceCulture);
return ((byte[])(obj));
}
}
然后在Main(program.cs)函數(shù)里加入代碼
復(fù)制代碼 代碼如下:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string path = Application.StartupPath + "\";
string dllFileName = "IrisSkin2.dll";
//******加載IrisSkin2.dll******
if (!File.Exists(path + dllFileName)) //文件不存在
{
FileStream fs = new FileStream(path + dllFileName, FileMode.CreateNew, FileAccess.Write);
byte[] buffer = GetData.Properties.Resources.IrisSkin2;//{GetData是命名空間}
fs.Write(buffer, 0, buffer.Length);
fs.Close();
}
//*****************************
Application.Run(new GDForm());
}
編譯test項(xiàng)目,生成exe文件,然后刪除引用的dll文件(注意是先編譯,再刪除)
復(fù)制該exe文件就可以在別的地方運(yùn)行了(不用dll,運(yùn)行EXE會(huì)自動(dòng)生成DLL文件)
相關(guān)文章
詳解C# parallel中并行計(jì)算的四種寫法總結(jié)
在C#中,parallel關(guān)鍵字可以用于并行計(jì)算。本文為大家總結(jié)了四種C# parallel并行計(jì)算的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-11-11
C#將布爾類型轉(zhuǎn)換成字節(jié)數(shù)組的方法
這篇文章主要介紹了C#將布爾類型轉(zhuǎn)換成字節(jié)數(shù)組的方法,涉及C#中字符串函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#利用OpenCvSharp實(shí)現(xiàn)玉米粒計(jì)數(shù)
這篇文章主要為大家詳細(xì)介紹了C#如何結(jié)合OpenCVSharp4實(shí)現(xiàn)玉米粒計(jì)數(shù),文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下2023-11-11
C#實(shí)現(xiàn)FTP文件下載及超時(shí)控制詳解
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)FTP文件下載及超時(shí)控制的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

