ورود

View Full Version : سوال: در دسترس نبودن متد



WorldVbMan
چهارشنبه 29 مهر 1388, 16:29 عصر
با سلام خدمت اساتید محترم

آقا من سایتمو مثل همیشه بعد از پابلیش آپلود کردم، البته چند تا فایلش رو فقط.
یکی از این فایل ها همون dll شامل کلاس هامه یعنی App_Code.dll.
تو یکی از کلاس هایی که تو همون فولدر App_Code داشتم ، یه روال (سابروتین) داشتم که این بار با اضاف کردن یه پارامتر آپشنال بهش یه تغییر جزئی توش دادم.
البته این دفعه ی اول نبوده که این کار رو انجام میدم ولی این بار بعد از پابلیش سایت و آپلود فایلهای مذکور با این مشکل برخوردم که متد (روال) ذکر شده توسط دات نت دیده نمیشد. یعنی همون پیغام شاید معروف :


Method Not Found : void functionName (...
چند بار آپلود رو و حتی پابلیش سایت رو از اول انجام دادم (توسط خود vs.net 2008) ولی فایده ای نداشت.
متد رو تغییری جزئی دادم و با اضاف کردن چند تا متد الکی اندازه ی فایل رو تغییر دادم.
بعد از پابلیش اندازه ی dll هم درست تغییر کرده بود. پس تغییرات صحیح اعمال شدند و dll همون موقع ایجاد شده بود و کش و مشی در کار نیست.
بعد از آپلود هم اندازه ی فایل در سرور درست نشون داده میشه یعنی آپلود هم ok هست.

ولی انگار نه انگار!!!

تو یه سایتی نوشته بود که تو کش سراسری (GAC : Global Assembly Cache) یه نسخه از فایل مذکور امکان داره موجود باشه. یعنی تو آدرس :

windir$:\Windows\Assembly

و یا

windir$:\Windows\Assembly\gac_msil

و باید حذف شه. راستش من که نتونستم فایلی تو اونها پیدا کنم که با سایتم مرتبط باشه. اگر هم باید تو سرور کش شدن انجام شده باشه، که باونها هم گفتم و چیزی دستگیرم نشد.
اگه واقعاً دلیلش همین کش هست متشکر میشم راه حذفشو بهم بگین یا خلاصه راه کارشو چه ربطی به این کش داره و چه نه

بد جوری لنگم، آخه سایت کلاً خوابه!!!
متشکرمیشم یکی راهنماییم کنه(تو فرومهای برنامه نویس که موفق نشدم چیزی پیدا کنم.)

WorldVbMan
چهارشنبه 29 مهر 1388, 23:51 عصر
یعنی هیچ کی تا حالا با این مشکل مواجه نشده؟!!!

اساتید لطفاً کمک کنند

متشکرم

Saber_Fatholahi
پنج شنبه 30 مهر 1388, 15:08 عصر
دوست من از منوی Build توی ویزوال استودیو گزینه Clean Soulution انتخاب کن
بعد از این دوباره پروژه اتو پابلیش کن
ایشالا که مشکلت حل میشه
موفق باشی

WorldVbMan
پنج شنبه 30 مهر 1388, 15:29 عصر
خیلی متشکر از توجهتون ، راستش داشتم از این فروم ناامید میشدم

گزینه ای با عنوان ذکر شده در ide ندیدم فقط build و rebuild و publish و batch داره.
آیا واسه Command Prompt دستور معادلش هست؟

ضمناً : آیا هدف از این کار اطمینان از ایجاد dll جدید و به عبارتی پابلیش قطعیه که یه وقت از کش خونده نشه؟

اگه آره ، همونطور که گفتم واسه مطمئن شدن یه متد الکی تو کلاس ذکر شده گذاشتم و بعد از پابلیش دیدم درست فایل جدید نسبت به فایل قبلی تغییر سایز داده . یعنی حتماً تغییرات جدید اعمال شدن. بعد از آپلود هم فایل درست با همون سایز جدید در دسترسه. یعنی آپلودش هم درست انجام شده.

متشکر میشم مثل همون لطف اول ، مجدد راهنماییم کنید. راستش شرکت هاستینگ سه روزه معطلم کرده و خبری از پاسخ نیست ، مشتری هم شاکیه.

مرسی.

WorldVbMan
جمعه 01 آبان 1388, 06:29 صبح
خب، بالاخره بعد از 4 روز مکافات به حمدالله مشکل امروز حل شد، راستش گفتم یه توضیح کوچیک بدم شاید یه روزی به کار بیاد.

من بعد از آخرین تغییری که توی یه کلاسم دادم فقط فایلهای همون کلاس رو آپلود کردم. البته این کار صحیحه و بارها از همین روش استفاده کردم و معلومه که باید هم جواب بده. با این حال گفتم بذار این بار تمام فایلهای این فولدر رو که تعدادشون کم هم نبود (482 مورد) از اول آپلود کنم، دیگه به قولی هرچی بادا باد.

ولی لطف خدا، حالا دلیلش چی چی بود نمی دونم ولی مشکل حل شد.

التماس دعا

_________________________________________________


الهی عجّل لولیّک الفرج