نظرات مطالب
هزینه استفاده از دات نت فریم ورک چقدر است؟
راستی،‌ ویندوز 8 دارای دات نت نگارش «4 و نیم» سرخود است. این هم رایگان است برای خریداران ویندوز و همچنین توسعه دهنده‌ها هم نگرانی از توزیع آن نخواهند داشت و یک قدم مثبت است در جهت ساده‌تر کردن کارها.
نظرات مطالب
هزینه استفاده از دات نت فریم ورک چقدر است؟
راستی،‌ ویندوز 8 دارای دات نت نگارش «4 و نیم» سرخود است. این هم رایگان است برای خریداران ویندوز و همچنین توسعه دهنده‌ها هم نگرانی از توزیع آن نخواهند داشت و یک قدم مثبت است در جهت ساده‌تر کردن کارها.
نظرات مطالب
مشکلات نصب به روز رسانی‌های اخیر
پیشنهاد من نصب مجدد VS2010 و سپس SP1 آن است. چیز دیگری هم نصب نکنید. نیازی نیست (تمام موارد با SP1 ارائه شده).
بعد از اون حداکثر یک sl-toolkit نصب کنید و نه بیشتر. نگارش 5 هم هنوز بتا است و باید صبر کنید تا نسخه‌ی پایدار آن ارائه شود.
نظرات مطالب
انتشار VS2010
نه. اون خط رو باید برای انتشار عمومی پاک کنند نه اینکه شما پاک کنید. شما باید اضافه کنید (چون در نگارش trial وجود ندارد؛ بدون سریال است).
روش دوم فعال سازی VS2010 از بلاگ‌های MSDN به شرح زیر است:
http://bit.ly/aIpp9l
نظرات مطالب
انتقال SVN به یک سیستم جدید
سلام
1 - اساس کار متداول SVN بر اساس فولدر سازی به ازای هر تغییر نیست. به ازای هر تغییر شما می‌تونید موارد اصلاحی را commit‌ کنید. بعد می‌شود بر اساس comment نوشته شده برای این commit‌ گزارش گرفت و نگارش جاری را مثلا با 5 نگارش قبل مقایسه کرد. با همین ابزار diff ایی که معرفی کردم. ضمنا امکان export کامل پروژه به ازای هر نگارش commit شده وجود دارد.
البته مباحث انعشابات و غیره هم وجود دارد که در فصلی جداگانه به آن پرداخته شده.
می‌شود برچسب یا tag ایجاد کرد و کل پروژه را تا یک نگارش خاص در آن قرار داد. عموما برای ارائه نگارش‌های عمومی این روش توصیه می‌شود.
یا می‌شود یک انعشاب درست کرد و جدا از خط اصلی کاری یا همان trunk کار کرد (مثلا آزمایش یک قابلیت جدید) و سپس این انعشاب تکمیل شده را با trunk و خط اصلی کاری یکی کرد.
هر کدام از این موارد (برچسب یا انشعاب) هم بر اساس پوشه‌ها هستند البته در مخزن کد.

2 - افزونه Visual SVN این مورد را ساده‌تر کرده. خودش گزینه‌ی ایجاد خودکار مخزن و افزودن به آن‌را دارد و از این لحاظ در وقت صرفه جویی می‌شود.
نظرات مطالب
JSLint.VS
- آیا نگارش VS.Net شما از افزونه‌ها پشتیبانی می‌کند؟
- این پوشه در سیستم من در این مسیر قرار دارد:
C:\Documents and Settings\vahid\My Documents\Visual Studio 2008\Addins
مطالب
چند نکته در مورد WPF MediaElement و ویندوز XP

WPF MediaElement به صورت پیش فرض در ویندوز XP کار نمی‌کند؛ مگر اینکه حتما آخرین نگارش موجود Windows Media Player بر روی سیستم نصب شده باشد و حداقل نیاز به نگارش 10 به بعد را دارد.
اگر این نگارش نصب نباشد یا هر خطای دیگری رخ دهد، آن‌را می‌توان از طریق روال رویداد گردان MediaFailed بدست آورد.
اگر نگارش بتای مدیاپلیر 11 بر روی سیستم نصب باشد، با پیغام نه چندان آشنای "insufficient memory" مواجه خواهید شد و اهمیتی هم ندارد که سیستم در حال حاضر به چه میزان حافظه‌ی مهیا دسترسی دارد.
و کلا هر آنچه را که Windows Media Player بتواند پخش کند، WPF MediaElement نیز قادر به پخش آن‌ها خواهد بود. برای فرمت‌های ناشناخته و جدید باید Codec مخصوص آن‌ها در سیستم نصب شده باشد.

راه حل بهتر، استفاده از پروژه‌ی دیگری است به نام WPF Media Kit. این پروژه، هر آنچه را که بتوان توسط برنامه GraphEdit پخش کرد، می‌تواند نمایش دهد.

استفاده از WPF MediaElement به کمک الگوی MVVM درد بزرگی است؛ چون آنچنان از Binding و Commanding پشتیبانی نمی‌کند.

مطالب
چند خبر کوتاه در مورد jQuery

  • نگارش جدید جی‌کوئری (jQuery 1.4 Alpha 1) منتشر شد : + و +
  • انتخاب jQuery به عنوان بهترین کتابخانه‌ی سورس باز سال 2009 از طرف مجله‌ی دات نت: +
  • بهترین افزونه‌های jQuery سال 2009 :+

پاسخ به بازخورد‌های پروژه‌ها
خطا در متد های Async
این مشکل برطرف و آزمایش شد.
- نگارش جدید برنامه را از اینجا دریافت کنید.
- بسته‌های نیوگت مرتبط را هم نیاز است به روز کنید:
PM> Update-Package DNTProfiler.EntityFramework.Core
Or
PM> Update-Package DNTProfiler.NHibernate.Core
پاسخ به بازخورد‌های پروژه‌ها
مشکل با نوشتن تابع تجمعی سفارشی(از طریق پیاده سازی IAggregateFunction)
فعلا نه. در نگارش بعدی می‌تونید چنین کاری رو انجام بدید:
.MainTableEvents(events =>
            {
                events.CellCreated(args =>
                    {
                        if (args.CellType == CellType.PreviousPageSummaryCell ||
                            args.CellType == CellType.PageSummaryCell ||
                            args.CellType == CellType.SummaryRowCell)
                        {
                            if (!string.IsNullOrEmpty(args.Cell.RowData.FormattedValue))
                            {
                                args.Cell.RowData.FormattedValue += " $";
                            }
                        }
                    });