PDA

View Full Version : مبتدی: کامپایل وب سایت



undefined
دوشنبه 18 مرداد 1389, 01:26 صبح
با سلام
دوستان سوآلم خیلی ابتدایی هست اما متاسفانه همین سوآل ابتدایی یک هفته من رو به خودش مشغول کرده .
سوآل و مشکلم اینه :
چجوری میتونم وب سایتی که با C# در Visual Studio ساختم رو کامپایل کنم (یعنی به نسخه ایی ازش برسم که به سادگی در هر IIS کپی کنم و اجراش کنم) فعلا پروژم بانک نداره .
مراحلی هم که خودم رفتم روی پروژم کلیک راست کردم Publish Web Site رو زدم مسیر رو انتخاب کردم فایل ها در مسیر ریخته شدن اما زمانی که فایل های aspx را با note pad با ز میکنم یک خط متن نوشته شده است با مزمون تقریبی این

This Contain Marker ....

ممنون میشم اگه دوستان با یک مسائل راهنماییم کنن . چون متاسفانه آموزش ها هیچ کدوم نتونستن بهم کمک کنن .
پیشاپیش از دوستانی که کمک میکنن و نمیکنن متشکم .

salehbagheri
دوشنبه 18 مرداد 1389, 01:31 صبح
میشه بپرسم چرا فایل aspx رو با notepad باز میکنید؟

پروژه های ASP.NET یا به قولی صفحات aspx رو باید در سرور توسط مرورگر اجرا کنید نه notepad !

به هرحال من هنوز نفهمیدم مشکل شما کجاست!

aminghaderi
دوشنبه 18 مرداد 1389, 03:31 صبح
با سلام
دوستان سوآلم خیلی ابتدایی هست اما متاسفانه همین سوآل ابتدایی یک هفته من رو به خودش مشغول کرده .
سوآل و مشکلم اینه :
چجوری میتونم وب سایتی که با C#‎‎ در Visual Studio ساختم رو کامپایل کنم (یعنی به نسخه ایی ازش برسم که به سادگی در هر IIS کپی کنم و اجراش کنم) فعلا پروژم بانک نداره .
مراحلی هم که خودم رفتم روی پروژم کلیک راست کردم Publish Web Site رو زدم مسیر رو انتخاب کردم فایل ها در مسیر ریخته شدن اما زمانی که فایل های aspx را با note pad با ز میکنم یک خط متن نوشته شده است با مزمون تقریبی این

This Contain Marker ....

ممنون میشم اگه دوستان با یک مسائل راهنماییم کنن . چون متاسفانه آموزش ها هیچ کدوم نتونستن بهم کمک کنن .
پیشاپیش از دوستانی که کمک میکنن و نمیکنن متشکم .



عزیرم برنامه های تحت وب (سایت) نیاز به کامپایل ندارند ؟!
سیستمشون کامل با برنامه های سیستم عاملی متفاوت هست.
مثلا ویندوز : شما یه برنامه می نویسی و اون ور کامپایل می کنی (به زبان ماشین ترجمش می کنی ، البته با استفاده از خود نرم افزار)
ولی برنامه های تحت وب نیاز به ترجمه به زبان ماشین ندارند ، اونها باید به زبان Html تبدیل بشوند ، که این کار توسط موتور ASP.NET صورت می گیره ؟! به چه صورت ؟؟؟
ابتدا شما باید برنامه ای بنام iis رو روی سیستمتون نصب کنید ، و اون یه روت اصلی بهتون می دهد و شما باید فایل های که حالا با نوت پد یا ویژوال استادیو نوشتید و پسوند aspx بهشون دادید رو در اون پوشه کپی کنید و توسط مرور گر اون آدرس رو فراخونی کنید تا فایل ها اجرا شوند.
مکانیزم :
ابتدا صفحات شما از آدرس داده شده توسط موتور ASP خوانده شده و بعد کد های سی شارپ یا وبی یا جی شارپ داخلش رو اجرا می کنه (تغریبا مثل برنامه های ویندوزی) و بعد با قالب اچ تی ام ال خود فایل ، مخلوط می کنه و در نهایت یه فایل Html محض جدید برای شما (کلاینت) ارسال می کنه و شما داخل مرورگرت صفحه سایت رو می بینی.
البته شما الان داری با ویژوال استادیو کار می کنی و اون خودش سرور رو شبیه سازی می کنه و دیگه نیازی به کپی فایل در روت اصلی و ادرس دهی و... نداری ، دکمه مثلث سبز رنگ داخل نرم افزار (که برای اجرای برنامه تحت ویندوز استفاده می کنید) رو بزنید تا همه این کار ها به چند ثانیه انجام و سایت رو مشاهده کنید.

موفق باشی.

حامد مصافی
دوشنبه 18 مرداد 1389, 08:45 صبح
وقتي يك وبسايت كامپايل مي شود تمام فايل هاي aspx حدف مي شوند و فقط يك خطي كه فرموديد در آنها قرار مي گيرد، قسمت اصلي سايت در يك فايل dll در پوشه bin قرار دارد. بسياري از هاست هاي اشتراكي اجازه precompile را به شما نمي دهند چون به اين كار ممكن است به Application Pool آنها دسترسي پيدا كنيد. اما اگر هاستي داريد كه چنين امكاني را پشتيباني مي كند مي توانيد كل فولدر توليد شده را بدون نگراني Upload كنيد.


عزیرم برنامه های تحت وب (سایت) نیاز به کامپایل ندارند ؟!
سايت هاي نوشته شده با Asp.Net در اولين دسترسي به صورت اتوماتيك كامپايل مي شوند، شايد تا بحال حس كرديد سرعت اولين باز كردن يك صفحه خيلي بيشتر از دفعات بعدي است. علاوه بر اين كل سايت را نيز مي توانيد Precompile كنيد.


براي توضيحات بيشتر اين صفحه (http://msdn.microsoft.com/en-us/library/399f057w%28VS.85%29.aspx) را ببينيد.

undefined
دوشنبه 18 مرداد 1389, 14:09 عصر
میشه بپرسم چرا فایل aspx رو با notepad باز میکنید؟
دوست عزیز زمانی که قصد فراخوانی صفحه توسط مرورگر رو داشتم خطا میداد که فایل استاندارد نیست به همین خاطر با notpad بازش کردم که ببینم چه چیزی درونش نوشته شده .


عزیرم برنامه های تحت وب (سایت) نیاز به کامپایل ندارند ؟!
نمی دونم اما تا جایی که من اطلاع دارم میدونم یه کامپایل باید بشن که به زبانه میانه .Net برسن که بهش CLF میگن اگه درست خاطرم باشه .


وقتي يك وبسايت كامپايل مي شود تمام فايل هاي aspx حدف مي شوند و فقط يك خطي كه فرموديد در آنها قرار مي گيرد، قسمت اصلي سايت در يك فايل dll در پوشه bin قرار دارد. بسياري از هاست هاي اشتراكي اجازه precompile را به شما نمي دهند چون به اين كار ممكن است به Application Pool آنها دسترسي پيدا كنيد. اما اگر هاستي داريد كه چنين امكاني را پشتيباني مي كند مي توانيد كل فولدر توليد شده را بدون نگراني Upload كنيد..
من قصد دارم سایت را برروی IIS سیستم خودم که نصب کردم راه اندازی کنم یعنی این کار رو نمیتونم انجام بدم ؟؟؟

maxpayn2
دوشنبه 18 مرداد 1389, 14:16 عصر
این سوال بیش از صد بار پرسیده شده

http://www.barnamenevis.org/forum/showthread.php?t=220118

undefined
دوشنبه 18 مرداد 1389, 18:33 عصر
من اون پست هایی که معرفی کردید رو پیگیری کردم اما متاسفانه به نتیجه ایی نرسیدم البته احتمال دادم که IIS رو بعد از NET. نصب کرده باشم برای همین دستور زیر رو اجرا کردم اما اینبار با یان صفحه ایی که پیوست کردم مواجه شدم .

C:\[WinDir]\Microsoft.NET\Framework\[Version]\aspnet_regiis.exe -i

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

پروژه پیوست شد .

hadeseh
سه شنبه 19 مرداد 1389, 10:21 صبح
من اون پست هایی که معرفی کردید رو پیگیری کردم اما متاسفانه به نتیجه ایی نرسیدم البته احتمال دادم که IIS رو بعد از NET. نصب کرده باشم برای همین دستور زیر رو اجرا کردم اما اینبار با یان صفحه ایی که پیوست کردم مواجه شدم .

C:\[WinDir]\Microsoft.NET\Framework\[Version]\aspnet_regiis.exe -i

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

پروژه پیوست شد .




__________________________________________________ ____________________
این عکس خطا مربوط به تنظیمات IIS هست اول به بین ورژن ASP.net رو چی تنظیم کردی بعد بقیه موارد به بین

حامد مصافی
سه شنبه 19 مرداد 1389, 11:05 صبح
فرض مي كنيم پروژه شما در مسير d:\mysite ايجاد شده است.
فرض مي كنيم پروژه شما در فولدر ريشه سايت قرار خواهد گرفت.

دستور زير را در Visual Studio Command Prompt صادر كنيد:

aspnet_compiler -v / d:\mysite

aminghaderi
سه شنبه 19 مرداد 1389, 11:23 صبح
نمی دونم اما تا جایی که من اطلاع دارم میدونم یه کامپایل باید بشن که به زبانه میانه .Net برسن که بهش CLF میگن اگه درست خاطرم باشه .
بله من که اشاره کردم توسط موتور Asp اجرا می شه ، منظورم همون ترجمه بود دیگه.
ولی اطلاع نداشتم که در دسترسی های بعدی فایل دی ال ال ساخته شده رو به جای اجرا مجدد ، لود می کنه که از بیانات استاد مصافی استفاده کردیم.

undefined
سه شنبه 19 مرداد 1389, 14:42 عصر
__________________________________________________ ____________________
این عکس خطا مربوط به تنظیمات IIS هست اول به بین ورژن ASP.NET رو چی تنظیم کردی بعد بقیه موارد به بین
روی ورژن های مختلف تست کردم (2،3، 3.5) اما متاسفانه نشد .


فرض مي كنيم پروژه شما در مسير d:\mysite ايجاد شده است.
فرض مي كنيم پروژه شما در فولدر ريشه سايت قرار خواهد گرفت.

دستور زير را در Visual Studio Command Prompt صادر كنيد:

aspnet_compiler -v / d:\mysite
میشه بگید خط فرمانش رو چجوری میتونم فعال کنم ؟ لطفا
البته من در ریشه درایو پروژه رو قرار ندادم سورس برنامه که در مسیر پیش فرض My Document\Visual Studio 2008 Projects\Website قرار داره برای زمان Publish کردن هم که میپرسه کجا ذخیره کنم هر بار یکجا رو امتحان میکنم گاهی ریشه IIS گاهی هم فولدرهای دیگه و بعد توسط Virtual Directory بهش متصل میشم .

undefined
سه شنبه 19 مرداد 1389, 14:46 عصر
دوستان میتونم یک خواهش یکنم اونم اینه که یکی از دوستان یا همه ی مراخل رو از ابتدای کامپایل تا پایان هرچند خیلی کوتاست بهم بگه یا اینکه یه پروژه کامپایل شده بزارید ببینم اصلا روی سیستم من اجرا میشود و یا خیر شاید مشکل از IIS یا غیره باشد .
با تشکر

undefined
چهارشنبه 20 مرداد 1389, 21:20 عصر
دوستان کسی نموتونست کمک من کنه ؟؟