PDA

View Full Version : سوال: چطوري مسير دلخواه براي DLLهاي جديد بديم



احمد سامعی
پنج شنبه 08 اسفند 1387, 11:06 صبح
سلام دوستان

همونطور كه مي دونين تو پراپرتيز پرژه يك گذينه هست كه مي توني مسير دلخواه بدي تا برنامه براي دستيابي DLL از اون ها استفاده كنه
اما من وقتي آدرس دهي مي كنم برنامه پيغام مي ده اين DLL در مسير اصلي فايل exe. برنامه نيست ! (من مي خوام براي يك پوشه درست كنم تمام DLL داخل اون باشه و تو مثلاً مسير فايل exe. نباشه )

مگه اول برنامه مسير system32 براي بودن DLL بررسي نمي كنه ! چرا من وقتي اونجاDLL هام كپي مي كنم برنامه ارور مي ده !؟

يا بايد جاي ديگه بايد كپي كنم ؟

رضا عربلو
پنج شنبه 08 اسفند 1387, 22:02 عصر
از تکنیک assembly probing استفاده نمایید:
برای مثال :


<configuration>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<probing privatePath=”bin;PlugIns;Images\Icons;”/>
</assemblyBinding>
</runtime>
</configuration>


Step 4: Locating the Assembly through Codebases or Probing (http://msdn.microsoft.com/en-us/library/15hyw9x3(VS.71).aspx)
Specify where to look for referenced Assemblies in C# Application (http://kalpeshshirodker.wordpress.com/2007/09/06/specify-where-to-look-for-referenced-assemblies-in-c-application/)

احمد سامعی
پنج شنبه 08 اسفند 1387, 22:29 عصر
از تکنیک assembly probing استفاده نمایید:
برای مثال :...

ببخشيد دوست عزيز من كه هيچي از كد شما نفهميدم ( فكر كنم شما C# 2008 نوشتيد. من 2005 كار مي كنم.)

رضا عربلو
جمعه 09 اسفند 1387, 00:52 صبح
خیر. تکنیک فوق در دات نت 1.1 معرفی شد و برای تمامی اپلیکیشن های دات نت فزیم ورک 1.1 و 2.0و 3.5 و ... قابل اعمال است.
در مورد assembly probing کمی جستجو و مطالعه کنید. برای مثال لینکهای که معرفی کردم.
تنها کافی است به فایل app.config پروژه تان tagی مشابه زیر اضافه کنید.


<configuration>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<probing privatePath=”bin;PlugIns;Images\Icons; نام دایرکتوری هایی که اسمبلی های تان در آنها قرار قرار دارند.;”/>
</assemblyBinding>
</runtime>
</configuration>