مطالب
نصب Mono Develop 4.x در Ubuntu
پیشنیازها

در قسمت قبل، موفق به نصب Mono 3.0 در لینوکس شدیم. در ادامه قصد داریم یک IDE لینوکسی مخصوص کار با Mono را به نام Mono Develop بر روی Ubuntu نصب کنیم. اگر مونو را نصب کرده‌اید، نیاز است پیشنیازهای ذیل را بر روی سیستم خود نصب کنید:
 sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential libc6-dev g++ gcc libglib2.0-dev pkg-config \
 git-core apache2 apache2-threaded-dev bison gettext autoconf automake libtool \
libpango1.0-dev libatk1.0-dev libgtk2.0-dev libtiff5-dev libgif-dev libglade2-dev curl \
python-software-properties gawk libjpeg-dev libexif-dev flex checkinstall intltool git \
libcairo2-dev libgnomecanvas2-dev libgnome2-dev libgnomeui-dev libgnomeprint2.2-dev \
libgnomeprintui2.2-dev libgtkhtml3.14-dev libgtksourceview2.0-dev librsvg2-dev libvte-dev \
libnspr4-dev libnss3-dev libwebkit-dev apache2-threaded-dev libpng12-dev libfontconfig1-dev \
libfreetype6-dev zlib1g-dev libjpeg8-dev libjpeg-turbo8-dev libart-2.0-dev libgnomevfs2-dev \
libgnome-desktop-dev libnautilus-extension-dev libwnck-dev libvala-0.18-dev \
mono-addins-utils gtk-sharp2 gnome-sharp2
نصب این پیشنیارها ضروری بوده و در غیر اینصورت موفق به build کامل Mono Develop نخواهید شد. برای مثال پیغام خطای ذیل را در انتهای build دریافت می‌کنید؛ به این معنا که اسمبلی‌های ذیل کامپایل نشده‌اند:
 * art-sharp.dll: no
* gnomevfs-sharp.dll: no
* gnome-sharp.dll: no
و یا عنوان می‌کند که  gnome-sharp.dll برای کامپایل نیاز به یک سری کتابخانه کمکی دیگر نیز دارد:
  gnome-sharp.dll requires libgnomecanvas, libgnome, and libgnomeui.


نصب متداول محیط برنامه نویسی Mono Develop

برای نصب یک IDE که بتوان تحت همان لینوکس نیز کار برنامه نویسی دات نت را انجام داد، می‌توان از Mono deveop استفاده کرد. برای نصب آن فرمان ذیل را در خط فرمان لینوکس صادر نکنید !
 sudo apt-get install monodevelop
این روش هر چند کار می‌کند، اما تا این تاریخ، نگارش 3 را نصب خواهد کرد؛ با توجه به اینکه آخرین نگارش موجود در سایت Mono Develop، نگارش 4 است. همچنین نصب آن نیز نگارش جاری Mono را به نگارش 2 آن تنظیم می‌کند که جالب نیست. اگر به اشتباه آن‌را نصب کرده‌اید، برای حذف مونو از دستور ذیل استفاده کنید:
 sudo apt-get purge cli-common mono-runtime
همچنین الان کلیه مسیرهای سیستم به هم ریخته است. برای رفع آن مسیر نصب Mono-3.0 را باید به نحو ذیل مجددا تنظیم کرد:
 export PATH=/opt/mono-3.0/bin:$PATH
export PKG_CONFIG_PATH=/opt/mono-3.0/lib/pkgconfig:$PKG_CONFIG_PATH


نصب محیط برنامه نویسی Mono Develop از روی مخزن کد آن

دریافت و نصب وابستگی‌های Monodevelop جهت کامپایل سورس آن، شاید نصف روز شما را به خود اختصاص دهد؛ به علاوه حداقل مصرف حدود 500 مگابایت حجم اینترنت. راه ساده‌تری نیز برای دریافت آخرین نگارش سازگار با Ubuntu آن وجود دارد و آن هم استفاده از بسته‌های شخصی کامپایل شده است؛ که اصطلاحا به آن‌ها PPA نیز گفته می‌شود. برای مثال: (^ و ^ )
چند نمونه بسته شخصی برای دریافت ساده آخرین نگارش Mono develop جهت نصب بر روی Ubuntu : (^ و ^ و ^ )
و به صورت خلاصه فرامین ذیل را در ترمینال لینوکس اجرا کنید تا از بسته شخصی keks9n استفاده کنیم:
 sudo add-apt-repository ppa:keks9n/monodevelop-latest
sudo apt-get update
sudo apt-get install monodevelop-latest
این روش، از تمام روش‌های ذکر شده تا کنون، ساده‌تر است. از این لحاظ که mono 3.2.1 را نیز به صورت خودکار بر روی سیستم شما نصب می‌کند (این بسته شخصی، به صورت خودکار هر از چندگاهی آخرین نگارش مونو، وابستگی‌های آن و monodevelop جدید را بسته بندی و ارائه می‌دهد).
بنابراین اگر مونو 3.2.1 یا جدیدتر را هنوز نصب نکرده‌اید، همین سه سطر فوق، کار نصب کلی آن‌را نیز انجام می‌دهد؛ علاوه بر نصب monodevelop در آخر کار به همراه تمام پیشنیازهای لازم مانند gtk-sharp و gnome-sharp.
پس از نصب کامل، برای اجرای آن در همان خط فرمان، دستور monodevelop را صادر کنید.


نظرات اشتراک‌ها
Visual Studio Update 1 RTM منتشر شد
نسخه‌های نصب آفلاین
دات نت 4.6.1 برای توزیع: NDP461-KB3102436-x86-x64-AllOS-ENU.exe
دات نت 4.6.1 برای یکپارچگی با ویژوال استودیوهای 2012 به بعد: NDP461-DevPack-KB3105179-ENU.exe
به روز رسانی اول ویژوال استودیوی 2015: vs2015.1.vsu.iso
نظرات اشتراک‌ها
چرا باید اسکالا یاد بگیریم ؟

مثالی که لینک داده بودن آنچنان تفاوتی با LINQ دات نت نداشت در عمل. یک مقایسه هم در اینجا هست که البته جای اصلاح داره. #http://vschart.com/compare/scala/vs/c-sharp Scala vs. C

مثلا در مورد Concurrency از دات نت 4 و 5 مباحث TPL و Async اضافه شده که در این چارت نیست.

نظرات اشتراک‌ها
بررسی وضعیت فعلی پروژه Roslyn
خیر. در دات نت دو فاز اجرایی کلی وجود دارد. تبدیل کدهای زبان‌های مختلف، توسط کامپایلر به کدهای IL. اجرای کدهای IL توسط JIT کامپایلر. بنابراین JIT هست که روی سرعت اجرایی تاثیر دارد و نه کامپایلر فاز اولیه تولید IL.
JIT فعلی دات نت هم در حال بازنویسی است. اطلاعات بیشتر
نظرات مطالب
تصادفی کردن آیتمهای لیست با استفاده از Extension Method
یک نکته‌ی تکمیلی

تا دات نت 7 می‌توان از روش زیر برای انتخاب تصادفی اعضای یک مجموعه استفاده کرد:
‍MyCollection.OrderBy(x => Random.Shared.Next()).Take(10)
Random.Shared، به دات نت 6 برای تولید اعداد تصادفی thread-safe اضافه شد. اهمیت thread-safe بودن آن‌را در مطلب «اثبات قانون مشاهده‌گر در برنامه نویسی» می‌توانید مطالعه کنید.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 7 - کار با فایل‌های config
یک نکته‌ی تکمیلی: امکان اجباری کردن وجود قسمتی در تنظیمات برنامه در دات نت 6

در مطلب فوق، نمونه‌ی استفاده از متد Configuration.GetSection را مشاهده می‌کنید؛ مانند: Configuration.GetSection("Auth:Users"). در دات نت 6 متد جدیدی به نام GetRequiredSection نیز بجای GetSection معرفی شده‌است که در صورت وجود نداشتن چنین قسمتی در فایل تنظیمات برنامه، یک استثناء را در ابتدای کار و شروع آن، صادر می‌کند.
نظرات مطالب
از NET Standard. به NET 5.
یک نکته: اضافه شدن امکان بررسی وضعیت SDKهای نصب شده در دات نت 6

اگر پس از نصب SDK دات نت 6، دستور زیر را صادر کنید:
dotnet sdk check
یک چنین خروجی را مشاهده خواهید کرد:

این خروجی به همراه اطلاعات زیر است:
الف) چه نگارش‌های جدیدتری ارائه شده و آیا SDKهای نصب شده‌ی شما به روز است؟
ب) کدامیک به پایان پشتیبانی نزدیک شده‌است.
نظرات مطالب
کار با Docker بر روی ویندوز - قسمت هفتم - مدیریت اجرای چندین کانتینر به هم وابسته
با سلام و تشکر؛ لطفا در مورد اجرای پروژه‌های دات نت کور بر روی سرویس دهنده‌های ریموت هم توضیح بفرمایید.فرض می‌کنیم سورس یک پروژه وب دات نت کور وجود دارد و قرار است بر روی کانتینر‌های ریموت (مثلا ابر آروان یا سرویس دهنده‌های خارجی) اجر شود. آیا امکان دارد که مستقیم سورس پروژه روی داکر ریموت (نه Docker Desktop ) بیلد و اجرا شود؟