PDA

View Full Version : مبتدی: رفع مشکل add refrence یک پروژه به پروژه دیگر



M.KH-SH
سه شنبه 15 فروردین 1391, 01:10 صبح
سلام و خسته نباشین به تمام دوستان

یک مشکل دارم اونم جدا نمی دونم چطوری میتونم این مشکل رو برطرف کنم

بعد از ساخت یک پروژه که شامل (مثلا) 20 کلاس و 40 فورم میشه چطور میشه کاری کرد که دیگه این پروژه دیگه قابل add refrence شدن به پروژه های دیگه نباشه و دیگران از کلاس ها و توابع موجود در اون استفاده نکنن

یعنی به صورت public نباشه پروژه و تمام محتویات داخل اون برای خودش باقی بمونه و کسی نتونه از اون استفاده کنه (منظور کد ها هستش)


اگه امکان داره دوستان راهنمایی کنن

ممنون

M.KH-SH
سه شنبه 15 فروردین 1391, 01:42 صبح
کسی راه رفع این مشکل رو میدونه؟
اگه به این صورت باشه که تمام پروژه هایی که با .net نوشته شده باشه میشه گفت تمام اونها open source هستن

M.KH-SH
سه شنبه 15 فروردین 1391, 08:35 صبح
میشه یکی راهنمایی کنه چون جدا به دردسر افتادم

kiarashk
سه شنبه 15 فروردین 1391, 09:34 صبح
من منظورت رو نمي فهمم اگه پروژت اپن سورس نيست چطوري يه نفر مي تونه بفهمه تو از چه توابعي استفاده كردي و اسمشون چي هست ؟ اگر هم اوپن سورس باشه كه ديگه مشخصه!

Hybrid
سه شنبه 15 فروردین 1391, 09:52 صبح
سلام ، احتمالا شما میخواین کسی نتونه فایل Exe برنامتون رو با برنامه یی باز کنه و کد های نوشته شده در اون رو مشاهده کنه ، واسه این کار تاپیک های مختلفی وجود داره حتما مطالعشون کن :

dotfuscator توی visual studio چیه؟ (http://barnamenevis.org/showthread.php?333245-dotfuscator-%D8%AA%D9%88%DB%8C-visual-studio-%DA%86%DB%8C%D9%87%D8%9F)


ابزارهای Obfuscating و محافظت از سورس (http://barnamenevis.org/showthread.php?36829-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-Obfuscating-%D9%88-%D9%85%D8%AD%D8%A7%D9%81%D8%B8%D8%AA-%D8%A7%D8%B2-%D8%B3%D9%88%D8%B1%D8%B3)


چطور امكان دستكاري(دي كامپايل)پروژه وجود نداشته باشد؟؟ (http://barnamenevis.org/showthread.php?287912-%DA%86%D8%B7%D9%88%D8%B1-%D8%A7%D9%85%D9%83%D8%A7%D9%86-%D8%AF%D8%B3%D8%AA%D9%83%D8%A7%D8%B1%D9%8A%28%D8%A F%D9%8A-%D9%83%D8%A7%D9%85%D9%BE%D8%A7%D9%8A%D9%84%29%D9%B E%D8%B1%D9%88%DA%98%D9%87-%D9%88%D8%AC%D9%88%D8%AF-%D9%86%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%D8%AF%D8%9F%D8%9F)

این تاپیک خیلی جالبه "

مقایسهDotfuscator با dot NET Reactor (http://barnamenevis.org/showthread.php?96449-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87Dotfuscator-%D8%A8%D8%A7-dot-NET-Reactor)

hakim22
سه شنبه 15 فروردین 1391, 14:45 عصر
دوست عزیز ، برای اینکار باید از StrongNaming استفاده کنید.

با استفاده از این روش شما یک کلید دیجیتالی میسازید که یک فایل باینریه و برای کامپایل شدن پروژه حتما باید مسیر اون رو مشخص کرده و به مترجم ویژوال استودیو معرفی کنید.

ابتدا سری به این مقاله بزنید :
http://msdn.microsoft.com/en-us/library/xc31ft41.aspx

باید در command prompt فرمان زیر را وارد کنید :
sn -k sgKey.snk

که فایل کلید رو میسازه
بعد بایک کدی مثل این :

Dim myDll As Assembly = _
Assembly.Load("myDll, Version=1.0.0.1, Culture=neutral, PublicKeyToken=9b35aa32c18d4fb1")


با این روش شما به برنامت کد امنیتی به همراه یک کلید اضافه می کنی
همون PublicKeyToken

بعد کدی مثل کد زیر رو به کتابخونه (dll ) که میخوای امنیتیش کنی اضافه می کنی :

' VB.NET
Imports System.Reflection

<Assembly: AssemblyDelaySign(false)>
<Assembly: AssemblyKeyFile("PublicPrivateKeyFile.snk")>


البته آدرس ها کامل وارد کنید .

روش کار در دات نت 4 کمی تغییر کرده .

M.KH-SH
سه شنبه 15 فروردین 1391, 21:21 عصر
ممنون دوست عزیز
من از msdn محروم هستم و نمیتونم مقاله ها رو بخونم
اگه امکان داره یک پروژه بسیار ساده پیاده سازی کنین فقط این نکته ها در اون باشه