PDA

View Full Version : ساخت dll



hamix666
سه شنبه 10 مهر 1397, 08:43 صبح
با سلام
آیا این امکان وجود دارد که من بتونم داخل یک dll یکسری اطلاعات داخل چندین var مختلف ذخیره کنم و dll رو داخل یک پروزه دیگر استفاده کنم و از مقادیر آنها استفاده کنم ؟

رامین مرادی
سه شنبه 10 مهر 1397, 08:53 صبح
بله میتونید. از پروپرتی ها استفاده کنید. سرچ کنید همینجا

hamix666
سه شنبه 10 مهر 1397, 09:05 صبح
بله میتونید. از پروپرتی ها استفاده کنید. سرچ کنید همینجا
میتونین راهنمایی کنین ؟

hamix666
سه شنبه 10 مهر 1397, 09:36 صبح
ببن من یک برنامه کوچیک دارم که می خوام وقتی اجراش می کنم با زدن یک کلیک یک dll بسازه که داخل اون dll یکس ری مقادیر ثابت ذخیره بشه و اون dll رو توی یک پروزه دیگه استفاده کنم و مقادیر داخل property هاشو بخونم
در این مورد راهنمایی کنین

hamix666
سه شنبه 10 مهر 1397, 12:34 عصر
کسی نیست کمک کنه ؟

shahryari
سه شنبه 10 مهر 1397, 13:23 عصر
سلام
عنوان تاپیک باید باشه "ساخت dll در زمان جرا" یا "ساخت dll بصورت داینامیک"

using System.CodeDom.Compiler;
using System.Diagnostics;
using Microsoft.CSharp;

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "AutoGen.dll";
CompilerResults results = icc.CompileAssemblyFromSource(parameters, yourCodeAsString);

hamix666
سه شنبه 10 مهر 1397, 13:50 عصر
سلام
عنوان تاپیک باید باشه "ساخت dll در زمان جرا" یا "ساخت dll بصورت داینامیک"

using System.CodeDom.Compiler;
using System.Diagnostics;
using Microsoft.CSharp;

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "AutoGen.dll";
CompilerResults results = icc.CompileAssemblyFromSource(parameters, yourCodeAsString);


dll ساخته میشه ولی پارامتر داخلش خالیه

hamix666
سه شنبه 10 مهر 1397, 14:12 عصر
سلام
عنوان تاپیک باید باشه "ساخت dll در زمان جرا" یا "ساخت dll بصورت داینامیک"

using System.CodeDom.Compiler;
using System.Diagnostics;
using Microsoft.CSharp;

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "AutoGen.dll";
CompilerResults results = icc.CompileAssemblyFromSource(parameters, yourCodeAsString);

ضمنا من نمی خوام داخل dll کد داشته باشم . فقط می خوام چند مقدار رو بهش پاس بدم و بمونه داخل dll و اون رو توی یک پروژه دیگه استفاده کنم

danialafshari
سه شنبه 10 مهر 1397, 16:40 عصر
ضمنا من نمی خوام داخل dll کد داشته باشم . فقط می خوام چند مقدار رو بهش پاس بدم و بمونه داخل dll و اون رو توی یک پروژه دیگه استفاده کنم

با سلام
dll برای نگهداری دیتا نیست
در اصل یک لایبراری هست که یکسری متد و پروپرتی و ... درش قرار میدی و برای بالا رفتن سرعت کار اون رو به پروژت add میکنی تا بتونید از متد ها و ... استفاده کنید
برای این کار بهتره از xml استفاده کنید توی همین سایت سرچ کنید
موفق باشید

hakim22
سه شنبه 10 مهر 1397, 22:07 عصر
شما می توانید با استفاده از متغیرهای نوع Const اینکار رو انجام بدید. متغیرهای const در زمان بیلد تبدیل به مقدارشون میشن و قابل تغییر نیستن. وقتی dll قبلی رو با dll جدید جابجا کنید مقادیر جدید خوانده میشه.

hamix666
چهارشنبه 11 مهر 1397, 08:29 صبح
شما می توانید با استفاده از متغیرهای نوع Const اینکار رو انجام بدید. متغیرهای const در زمان بیلد تبدیل به مقدارشون میشن و قابل تغییر نیستن. وقتی dll قبلی رو با dll جدید جابجا کنید مقادیر جدید خوانده میشه.
میشه یک مثال کوچیک چند خطی برام بزنی ممنون می شم