PDA

View Full Version : سوال: زمان ReBuild زیاد



Happy_davood
چهارشنبه 01 خرداد 1387, 18:32 عصر
سلام
من رو یه پروژه کار می کنم که حجمش زیاد شده و زمان Build کردن پروژه رسیده به 30 ثانیه که خیلی زیاده و به سختی میشه کار کرد .
میشه یه طوری این زمان رو کمتر کرد . مثلاً فقط قسمت هایی رو Build کرد یا یه namespace رو ؟

razavi_university
پنج شنبه 02 خرداد 1387, 01:58 صبح
اگر از ابتدا ممكن بود بايد پروژه رو به چند Project تقسيم مي‌كردين تا الان به همچين مشكلي برنخورين در اون حالت مي تونستين فقط پروژه‌هايي رو كه در Solution جاري بايد Build شوند رو Buid مي كردين.
در حال حاضر اگر ارجاع يا وابستگي به قسمتهايي از پروژه در نيست مي‌تونين اونهارو Exclud كنين
-اگر report هايي داريد كه مشخص كرده‌ايد در پوشه خروجي كپي شوند موقتا كپي آنها را غير فعال كنين
اگر هم در نظر داريد فقط يك فرم بخصوص رو اجرا كنين و روي اون كار كنين(مثلا مي خواهيد تستش كنين) در Program.cs به جاي فرم اصلي اسم فرم مورد نظرتون رو بنويسيد



Application.Run(new YourForm());

Happy_davood
پنج شنبه 02 خرداد 1387, 08:36 صبح
امکان تقسیم به چند پروژه وجود نداشته . یک سیستم هست با چند تا زیر سیستم که همه از یه سری کلاس ها ، تنظیمات و ... مشترک استفاده می کنند . دستکاری Program.cs هم که فقط برای تست راحتتر میتونه مفید باشه و در زمان Build تاثیری نداره که .
به نظرم همون روش Exlude تنها چاره باشه . فقط ایراد اینجاست که فرایند Exclude کردن خودش به سختی انجام میگیره . چون بعد از Exclude کلی خطا پیش میاد و باید نشست و همه رو ....

گفتم شاید خود VS روشی داشته باشه .

اَرژنگ
پنج شنبه 02 خرداد 1387, 12:24 عصر
امکان تقسیم به چند پروژه وجود نداشته . یک سیستم هست با چند تا زیر سیستم که همه از یه سری کلاس ها ، تنظیمات و ... مشترک استفاده می کنند . دستکاری Program.cs هم که فقط برای تست راحتتر میتونه مفید باشه و در زمان Build تاثیری نداره که .
به نظرم همون روش Exlude تنها چاره باشه . فقط ایراد اینجاست که فرایند Exclude کردن خودش به سختی انجام میگیره . چون بعد از Exclude کلی خطا پیش میاد و باید نشست و همه رو ....

گفتم شاید خود VS روشی داشته باشه .
بر حسب همان که خودتان میگید: همه از یه سری کلاس ها ، تنظیمات و ... مشترک استفاده می کنند .
لایه بندی کنید، قسمتهایه مشترک را که همه ازش استفاده میکنند را در یک لایه قرار میدید و اگر از داتابیس استفاده میکنید میتوانید به ۳ لایه دیگر هم تقسیمش کنید، هر کدام از لایه ‌ها را میشه سوا ساخت.

e-shahshahani
پنج شنبه 02 خرداد 1387, 13:06 عصر
حداقلش اینه که کلاس ها را در یک پروژه دیگر از نوع Class Library بریزید و آن را کامپایل کرده و dll خروجی را به پروژه فعلی اضافه کنید

leilav_1984
پنج شنبه 02 خرداد 1387, 13:27 عصر
احیانا از copmpnent های خارجی استفاده نمی کنید؟
بعضی از اونها که معمولا black box هم هستن حجم زیادی دارن که به پروژه تحمیل میشه

gdevnb
پنج شنبه 02 خرداد 1387, 18:56 عصر
سلام
از آخرین ورژن VS برای کمپایل استفاده کنید.
من یه پروژه خیلی بزرگ (یه موتور بازی) رو با 2003 کمپایل کردم حدود 10 دقیقه طول کشید در صورتی که با 2005 این زمان به 3 دقیقه رسید.