مشاهده نسخه کامل
: اجراي برنامه نوشته شده با C# از Dos
ramin_mp4
12-07-2007, 16:55
سلام بچه ها من يه برنامه دفترچه تلفن با C# تحت كنسول نوشته ام ولي وقتي ميخوام اونو از داخل DOS اجرا كنم اجازه نميده و ميگه This program can not run in DOS كسي ميتونه كمكم كنه و آيا كانورتري وجود داره كه بتونم برنامه هامو تحت داس اجرا كنم
hamidreza_buddy
14-07-2007, 14:47
قاعدتا باید اجرا بشه.
بعد از نصب VS خودش خودکار Environment Variable ها رو set میکنه.
روی Mycomputer کلیک راست کن و برو به تب ADVANCED و روی دکمۀ Environ.. کلیک کن.
توی اون آدرس شاخۀ bin موجود در ProgramFiles/Microsoft.NET رو توی path اضافه کن.
bad_boy_2007
14-07-2007, 22:37
سلام
یه سوال داشتم
کلا برنامه های کنسول نوشته شده تو محیط .net قابل اجرا در داس هست ؟
منظورم داس داخل ویندوز نیست ، مثلا با دیسک بوت بالا بیای بعد برنامه رو اجرا کنی
am_merman01
15-07-2007, 01:06
يعني اين دات نت انقدر كلاسش بالاست؟
به نظر من كه اگه بشه بايد يه دمت گرم حسابي به مستر بيلي گفت.
hamidreza_buddy
15-07-2007, 09:06
سلام
یه سوال داشتم
کلا برنامه های کنسول نوشته شده تو محیط .net قابل اجرا در داس هست ؟
منظورم داس داخل ویندوز نیست ، مثلا با دیسک بوت بالا بیای بعد برنامه رو اجرا کنی
عمراً !!
چون براي اجراي برنامه هاي .NET بايد .NET Framework نصب باشه كه اين امر روي داس امكان پذير نيست.
مثلاً قابليت هايي مثل Multithreading اصلاً توي داس پشتيباني نميشه.
مگه اينكه خود مايكروسافت بشينه و همْ اين قابليت ها رو توي فريم ورك بگنجونه (كه تا حالا اين كارو نكرده و بعيد مي دونم بكنه)
سلام
همانطور که دوست عزیز کاربر hamidreza_buddy ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) هم توضیح دادن جدا از اینکه برنامه های دات نت به فریم وروک نیاز حیاتی دارند ولی
نوع برنامه های کنسول یک نوع exe های تحت ویندوز هستند که در ++VC قابل ساخت بودند و تازه در دات نت هم این قابلیت اضافه شد، این قبیل exe ها هیچ ارتباطی با DOS ندارند! (مطلقاً) و اصلاً از وقفه های داس استفاده نمیکنند و مثل مابقی پروژه های تحت ویندوز از API های ویندوز استفاده میکنند و دقیقاً همان قدرت exe معمولی را دارند و مثل همان هستند با این تفاوت که برای ورودی و خروجی واسط کاربری ندارند و یک stream دارند که به ناچار ما میتوانیم ان ها را در برنامه Command Prompt اجرا کنیم.
ولی مجدداً تاکید میکنم که پروزه هعای کنسول برنامه های ویندوزی هستند و تحت ویندوز اجرا میشوند و هیچ ربطی به DOS ندارند و فقط از نظر ظاهر شبیه برنامه های DOS است.
am_merman01
18-07-2007, 02:17
اساتيد عزيز ميخواستم بدونم هيچ راهي وجود نداره كه بشه از فرمانهاي داس در net. استفاده كرد؟
در ضمن كسي ميدونه فرمانهايي مثل ping كه IP رو نمايش ميده جزو فرمانهاي داس است يا توابع ويندوز؟
سلام
ندیده میگویم که ping.exe یک برنامه کنسول ویندوزی است نه برنامه DOS!
در بیشتر مواقع روش زیر در شناسایی برنامه های ویندوز جواب میدهد.
فایل exe را در یک ویرایشگر مبنای 16 یا اگر نداشتید در Notepad باز کنید، در همان اول ها باید متن This program can not run in DOS یا چیزی مشابه را ببینید.
ولی تا حدودی میتوان فرامینت DOS را از داخل #C اجرا کرد ولی اصولاً کار زیبا و خوبی نیست، چون دستورات معادل قوی و کاملاً مچ شده ویندوزی وجود دارند!!!!
بابا جان، ای عزیز دل بابا! DOS مرده و هفتاد کفن پوسانده، تن این بیچاره را در گور نلرزانید! مگه ویندوز را ازتون گرفتند؟؟؟؟!!!! چه زوری که میخواهید بروید تحت DOS کار کنید.؟؟؟
bad_boy_2007
18-07-2007, 13:28
يه سوال ديگه !!!
پس با همه اين تفاسير با vb8 نميتونيم برنامه اي بنويسيم که تو داس بالا بياد درسته ؟
با زبوناي ديگه net. چطور ؟ اگه جواب منفيه پس نوشتن برنامه هاي سيستمي منتفيه (يعني با net. نميشه ؟)!
bad_boy_2007
18-07-2007, 13:30
يه سوال ديگه هم داشتم ميخواستم يک برنامه تحت داس رو اجرا کنم و از طريق سطر فرمان بهش پارامتر بدم با استفاده vb.net با چه دستوري ميتونم اين کار رو انجام بدم ؟ (تو داس ويندوز ميخوام باز بشه) .
ترم پيش پروزه ام با ابزاري بنام Flex بود ولي اين ابزار محيط توسعه نداره ميخواستم واسه اينکه کارم رو راحت کنم يه ابزار بنويسم که با اين برنامه مرتبط بشه ولي مشکلم اين بود که نميدونستم چطور بايد پارامترها رو به برنامه پست کنم مثلا اينطور :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
يه نگاهي به اينجا بندازين روشن ميشه :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون ميشم اگه راهنمايي کنين :20:
سلام
يه سوال ديگه !!!
پس با همه اين تفاسير با vb8 نميتونيم برنامه اي بنويسيم که تو داس بالا بياد درسته ؟
با زبوناي ديگه net. چطور ؟ اگه جواب منفيه پس نوشتن برنامه هاي سيستمي منتفيه (يعني با net. نميشه ؟)!
VB.Net و #C مثل هم هستند و کاری که یکی نتواند دیگری هم نمیتواند.
اما نمیدانستم برنامه های سیستمی ویندوز تحت DOS اجرا میشوند!!!! مگر انکه منظورتان ان باشد که نمیشود برنامه های سیستمی ای که تحت DOS یک زمانی اجرا میشدند را با زبانی غیر تحت DOS نوشت!
برای اجرای برنامه ای دیگر (چه کنسول و چه غیر کنسول) در زبان های تحت دات نت هم میتوانید از دستور زیر استفاده کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
bad_boy_2007
18-07-2007, 17:58
سلام مجدد
_h2_ جان خيلي خيلي ممنون از دستوري که معرفي کردي :11:
کارم راه افتاد ، فقط يک مشکل دارم برنامه اي که ميخوام اجرا کنم تحت داسه و با دستوري که گفتي به درستي اجرا شد فقط مشکلي که من داشتم اين بود که پنجره اش به محض اتمام کار بسته ميشد که ميخواستم اينطور نباشه (چون در صورت بروز خطا ميخوام کاربر متن خطا رو بطور مستقيم ببينه) فعلا که مشکلم رو با نوشتن يم فايل bat حل کردم ولي راهي داره که پنجره اش بسته نشه ؟
در ضمن منظورم رو مثل اينکه بد گفتم ! منظورم برنامه هايي مثل بوت اضطراري پارتيشن مجيک (تحت داس زماني که ويندوز بهم ميريزه) يا امثال اين برنامه ها بود ، اين برنامه ها رو نميشه با net. نوشت درسته ؟
سلام
عزیز دل بابا با توجه به اینکه من یکی از بزرگترین زیر آب زنان برنامه های قدیمی هستم(!) این برنامه با شخصیت برنامه داسکیتان چه میکند؟؟؟؟ یعنی نمیشود آن را با خود Net. طراحی کرد؟؟؟؟؟؟؟
بعد هم در مورد بسته نشدن راحی جز Shortcut یا bat یا اجرا در cmd وجود ندارد که اجرا در cmd همان است که شما میخواهید.
در مورد قسمت آخر هم باید بگویم برنامه های بوت را نمی توان با دات نت طراحی کرد ولی برای مواقع اضطراری خود داداش بیل یک نسخه Live از Xp داده که فقط CD را میگذارید و یک لگد به CD-Rom میزنید و را یانه با Xp بالا می آید!!!!!!!!!!!!!!!!!!!
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.