PDA

View Full Version : سوال: پرتابل ساختن برنامه #C



mhsmity
یک شنبه 13 اسفند 1391, 15:59 عصر
با سلام دو سوال از دوستان داشتم
سوال یک :
این گزینه فایل های Dll رو در پوشه Bin کپی می کنه. می خوام بدونم چه فایده ای داره؟

100809


سوال دوم:
چرا کد های که به صورت توضیحات گذاشتم خطا میده. چی کار کنم که به این Dll ها دست رسی داشته باشم ؟


//using Smity.Class.System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace Smity
{
public partial class Form1 : Form
{
Class1 c = new Class1();
Smity.Class.Class2 c2 = new Smity.Class.Class2();
//Smity.Class.System.Management sysm = new Smity.Class.System.Management();
//Smity.Class.System sys = new Smity.Class.System();
private void Form1_Load(object sender, EventArgs e)
{
c.Str = "Smity";
c2.Str = c.Str;

}
}
}

pedram.11
یک شنبه 13 اسفند 1391, 16:07 عصر
یک :
اگه اون گزینه رو فعال کنید فایل DLL رو بغل برنامه میزاره و از این به بعد اون رفرنس رو از همونجا لود میکنه
دوم:
Smity.Class.System یک فضای نام هست که باید قبلا به رفرنس اضاف کرده باشید و الا برنامه اونو نمیشناسه، برای اضاف کردن به رفرنس باید از قسمت Sulotion Explorer روی گزینه References کلیک راست کنید و آدرس فایل DLL مورد نظر رو بدید.

mhsmity
دوشنبه 14 اسفند 1391, 19:59 عصر
یک :
اگه اون گزینه رو فعال کنید فایل DLL رو بغل برنامه میزاره و از این به بعد اون رفرنس رو از همونجا لود میکنه
دوم:
Smity.Class.System یک فضای نام هست که باید قبلا به رفرنس اضاف کرده باشید و الا برنامه اونو نمیشناسه، برای اضاف کردن به رفرنس باید از قسمت Sulotion Explorer روی گزینه References کلیک راست کنید و آدرس فایل DLL مورد نظر رو بدید.

این مسیر وجود داره Smity.Class.System یعنی به پروزه اضافه شده.
اشکال اینجاست که نمی شه این dll رو از این مسیر لود کرد چرا؟

pedram.11
دوشنبه 14 اسفند 1391, 20:03 عصر
شما اول به رفرنس اضاف کنید، بعد روی همون دابل کلیک کنید و بررسی کنید که namespace با چه اسمی تعریف شده

mhsmity
سه شنبه 15 اسفند 1391, 09:12 صبح
همین کار رو کردم به کدهای که گذاشتم دقت کن
ممنون

pedram.11
سه شنبه 15 اسفند 1391, 09:17 صبح
شما فایل dll رو اینجا بزارید شاید بتونم کمکتون کنم

mhsmity
سه شنبه 15 اسفند 1391, 15:12 عصر
شما فایل dll رو اینجا بزارید شاید بتونم کمکتون کنم
ار توجه شما ممنونم.
به دستور زیر دقت کن.
using System;
این یعنی جه؟
حالا بنده اومدم جی کار کردم
این دی ال ال رو از یک مسیر دیگه فراخوانی کردم .
Smity.Class.System sys = new Smity.Class.System();
که جواب نمیده.
همین.
این دی ال ال رو خودتون تو سیستم دارین.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Syst em.dll

pedram.11
سه شنبه 15 اسفند 1391, 15:33 عصر
دوست عزیز قرار نیست همیشه اسم namespace همون اسم dll باشه؛ ما Assembly name داریم و Default Namespace. درسته system.dll با دستور using system معرفی میشه اما این به این دلیله که namespace هم توی خود فایل dll به همین نام نوشته شده نه بخاطر اینکه اسم فایل system.dll هست•

mhsmity
چهارشنبه 16 اسفند 1391, 01:11 صبح
دوست عزیز قرار نیست همیشه اسم namespace همون اسم dll باشه؛ ما Assembly name داریم و Default Namespace. درسته system.dll با دستور using system معرفی میشه اما این به این دلیله که namespace هم توی خود فایل dll به همین نام نوشته شده نه بخاطر اینکه اسم فایل system.dll هست•

یک پوشه جدید به پروزه خودتون اضافه کنید
این فایل دی ال ال رو داخل این پوشه اضافه کنید
بعد داخل برنامه خودتون ازش استفاده کنین
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Syst em.dll

mhsmity
شنبه 26 اسفند 1391, 21:03 عصر
ما که نتونیستم فایل System.dll
using System;
از یه جای دیگه فراخوانی کنیم.