sadeghjun
جمعه 22 شهریور 1392, 12:11 عصر
سلام
من یه کامپوننت درست کردم و در اون از یه کامپوننت دیگه هم استفاده کردم.
چه جوری میشه یه فایل dll رو داخل dll گذاشت. (تو کامپوننت من از یه کامپوننت دیگه استفاده شده)
کامپوننتی کهمن استفاده کردم Ionic.Zip هست.
در جستجوهایی که انجام دادم کفته شده بود باید dll رو در Resources بذارم و بعد از تابع زیر استفاده بشود.
private System.Reflection.Assembly ResolveAssemblies(object sender, System.ResolveEventArgs e)
{
dynamic desiredAssembly = new System.Reflection.AssemblyName(e.Name);
if (desiredAssembly.Name == "Ionic.Zip")
{
return System.Reflection.Assembly.Load(Properties.Resourc es.Ionic_Zip);
}
else {return null; }
}
سپس در رویداد لود برنامه فراخوانی شود:
AppDomain.CurrentDomain.AssemblyResolve += ResolveAssemblies;
خوب حالا من در برنامه خودم اسفاده میکنم خطا میده که نمیشناسه. چه جوری باید از این تابع استفاده کنم؟؟؟
مثلا یه تابع دارم که با استفاده از کامپوننت فایل های زیپ رو باز میکنه:
private void unzip()
{
using (var zip = Ionic.Zip.ZipFile.Read("file address"))
{
zip.Password = "123";
zip.ExtractAll("destination address");
}
}
من یه کامپوننت درست کردم و در اون از یه کامپوننت دیگه هم استفاده کردم.
چه جوری میشه یه فایل dll رو داخل dll گذاشت. (تو کامپوننت من از یه کامپوننت دیگه استفاده شده)
کامپوننتی کهمن استفاده کردم Ionic.Zip هست.
در جستجوهایی که انجام دادم کفته شده بود باید dll رو در Resources بذارم و بعد از تابع زیر استفاده بشود.
private System.Reflection.Assembly ResolveAssemblies(object sender, System.ResolveEventArgs e)
{
dynamic desiredAssembly = new System.Reflection.AssemblyName(e.Name);
if (desiredAssembly.Name == "Ionic.Zip")
{
return System.Reflection.Assembly.Load(Properties.Resourc es.Ionic_Zip);
}
else {return null; }
}
سپس در رویداد لود برنامه فراخوانی شود:
AppDomain.CurrentDomain.AssemblyResolve += ResolveAssemblies;
خوب حالا من در برنامه خودم اسفاده میکنم خطا میده که نمیشناسه. چه جوری باید از این تابع استفاده کنم؟؟؟
مثلا یه تابع دارم که با استفاده از کامپوننت فایل های زیپ رو باز میکنه:
private void unzip()
{
using (var zip = Ionic.Zip.ZipFile.Read("file address"))
{
zip.Password = "123";
zip.ExtractAll("destination address");
}
}