PDA

View Full Version : مشکل در تبدیل Website به Webapplication



bfreind10
شنبه 20 آذر 1389, 09:36 صبح
با سلام و خسته نباشید خدمت همه دوستان و اساتید و عرض تسلیت به مناسبت ایام سوگواری سرور و سالار شهیدان حضرت ابا عبداله الحسین (ع)
بنده یک پروژه ای با قبلا بصورت website در دات نت 2008 یعنی فریم ورک 3.5 با وی بی آغاز کردم. و این پروژه را توسعه دادم اما امروز متوجه شدم باید پروژه را بصورت Webapplication می ساخته ام.(به همان دلایلی که واقفید)

به خاطر همین در صدد برآمدم که این Website را به web application تبدیل کنم. با بررسی های که در فروم انجام دادم به این نتیجه رسیدم بای دبه شرح زیر عمل کنم:
1- یک پروژه جدید از نوع Web Application بسازم.
2- Reference ها به پروژه Add کنم.
3- تمام فایل های aspx با زیر مجموعه هایشان یعنی vb ها را به پروژه ام منتقل کنم
4- روی پروژه کلیک راست کنم و Convert to webapplication بزنم
5- پروژه باید تبدیل شده باشد.

تا اینجای کار با موفقیت انجام می گیرد اما مشکلی که وجود دارد اینست که هنگام کامپایل تعداد وحشتناکی ارور می دهد. من نمونه error ها هنگام کامپایل را برایتان می گذارم مشاهده فرمایید.

63441

پیشاپیش از پاسخ های شما تشکر می کنم.

bfreind10
شنبه 20 آذر 1389, 09:43 صبح
یک مورد دیگر هم به موضوع اضافه کنم که خودم پی برده ام.
من تعدادی فایل aspx در پروژه website دارم. در آنها کنترل هایی با نام های مشابه وجود دارد. مثلا من در هر صفحه ام کنترلی با نام lable1 دارم که در پروژه Website مشکلی ندارم. ولی در پروژه webapplication خطا دارم. از طرفی عوض کردن نام اینها کار بسیار دشواری است. نمی توان کاری کرد که اینها کنار هم بدون مشکل کار کنند؟

z_software
یک شنبه 21 آذر 1389, 09:50 صبح
سلام ببخشید نمی دونم چرا پاسخ های بالا حذف شدند ولی یه من هم یه وب سایت دارم که می خواهم آن را به webApplication تبدیل کنم . مراحلی را که bfriend10 هم انجام داده بود انجام دادم . ولی تو webApplication پروژه ام نه پوشه App_Code دارم نه bin دارم چی کار باید کنم ؟ dll ها را از کجا باید بیارم ؟
اگه ممکن است لینکی که تبدیل webSite را به webAppliction گفته معرفی کنید یا اگه میشه یه راهنمایی کنید .
ممنون

drabz.net
یک شنبه 21 آذر 1389, 17:01 عصر
سلام دوستان عزیز
بنده امروز با سایت برنامه نویس آشنا شدم. برنامه نویس ارشد در یک شرکت اماراتی هستم. عضو شدم تا گاهی که فرصت دارم به دوستان عزیزم در ایران کمک کنم. نمیدانم اگر برای مدیریت سایت برنامه نویس بخش ای اس پی دات نت امکان پذیر باشد من را به عنوان یکی از مدیران این بخش قرار دهد تا بهتر بتوانم کمک کنم. در هر حال به عنوان اولین پاسخ چون دیدم این سوال خیلی در برنامه نویس مطرح شده و کسی پاسخ نداده:
ببینید دوستان ایجاد برنامه های دات نت تحت WebSite برای پروژه های بزرگ کار درستی نیست. علاوه بر مشکلاتی که بعدا برایتان ایجاد می کند به ازای هر فایلی وبی که در پروژه باز میکنید موقع پابلیش یک فایل دی ال ال در شاخه bin با یک نام تصادفی برایتان می سازد که این دردسر ساز است چون دفعه بعد برای یک صفحه یک فایل dll دیگر با یک نام متفاوت می سازد. بهتر است شما پروژه هایتان را از نوع WebApplication بسازید. تفاوتی که فایل هایی که در روش اول و دوم تولید می کنید اینست که در روش اول یک فایل با پسوند aspx و یک فایل با پسوند aspx.vb می سازد. کد ها را در فایل vb و بصورت پیش فرض داخل یک کلاس می گذارد. در روش دوم در CodeBehind ما سه فایل داریم دو فایل قبل به همراه یک فایل با پسوند aspx.designer.vb ایجاد می کند. در فایل سوم مجددا تمام عناصر و کنترل ها را در یک کلاس متناظر برای پروژه با WithEvents پیش تعریف می کند. مثل: Protected WithEvents MultiView1 As Global.System.Web.UI.WebControls.MultiView
خوب فرض کنید مثل این دوست اولی که مشکل را مطرح نمودند یک پروژه را ناآگاهانه از ابتدا تحت website نوشته ایم. برای تبدیل تمام مراحلی که ایشان گفتند صحیح بود. فقط موقع تبدیل اگر دقت کنید به ایشان erro میداده که مثلا فلان کنترل را یکبار تعریف کرده اید. خوب اینجا مشخص می شود که ایشان مثلا یک صفحه که طراحی می کرده صفحه دوم را از روی همان صفحه اول کپی کرده و مثلا اگر در صفحه اول کلاس کلی بوده Partial Class _Default صفحه دوم هم همچین کلاسی داشته. خوب در پروژه وب سایت مشکلی پیش نمی آید اما در پروژه WebApplication چون کل برنامه Convert می شود و تحت یک Namespace قرار می گیرد دو کلاس با یک نام و با عناصر یک جور داریم که حالت فوق روی می دهد.
راه حل: قبل از انتقال برای تمامی کلاس ها نام منحصر به فرد بگذارید. مشکلاتان حل می گردد.
فعلا