بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
- بحث در مورد AOP بدون ذکر نامی از PostSharp بی‌معنا بود. به همین جهت چند قسمتی به آن اختصاص داده شد. حداقل از لحاظ بحث مفهومی ارزشمند است.
- در سازمان‌ها امکان تشکیل یک مخزن نیوگت محلی وجود دارد. یعنی فقط کافی است یکی از سیستم‌ها تبدیل به مخزن شود و بقیه از آن استفاده کنند. اطلاعات بیشتر در اینجا
- پیشنهاد من استفاده از پروژه‌های سورس باز مشابهی است مانند Fody. یک نمونه از کاربرد آن‌را در ادامه این دوره بررسی کرده‌ایم: «معرفی پروژه NotifyPropertyWeaver ». امکانات زیادی دارد. یا اینکه اصلا از IL Weaving استفاده نکنید و از dynamic proxy مطرح شده مانند پروژه castle core که در قسمت‌های قبل بررسی شد، استفاده نمائید.
- post sharp زمانیکه از طریق نیوگت نصب می‌شود، خودش را در سیستم build ویژوال استودیو مرتبط با پروژه جاری ثبت می‌کند. پس از اینکه dll یا فایل exe شما توسط VS.NET تولید شد، به صورت خودکار کار post sharp آغاز شده و کدهای IL اضافی پیاده سازی کننده aspects مدنظر را به اسمبلی‌های برنامه اضافه می‌کند.
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
روی سیستم من هیچکدام از مثال‌های شما کار نکردند. دلایل:
الف) همانطور که عرض شد، PostSharp فقط یک DLL نیست (IL Weaving به معنای دستکاری کدهای IL و اسمبلی نهایی است و افزودن کدهایی در این میان). بسته نیوگت آن، یک سری مراحل Post Build را به فایل csproj اضافه می‌کند؛ برای مثال:
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="..\packages\PostSharp.2.1.7.30\tools\PostSharp.targets" 
    Condition="Exists('..\packages\PostSharp.2.1.7.30\tools\PostSharp.targets')" />
ب) حتما باید سیستم licensing آن توسط نیوگت نصب شود تا عملیات IL Weaving را انجام دهد.
ج) زمانیکه از طریق نیوگت نصب می‌شود، پوشه packages\PostSharp.2.1.7.30\tools آن کار اصلی IL Weaving را انجام می‌دهد و این پوشه بالای 10 مگابایت است.
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
با عرض معذرت چند سوال دارم:
1- اینطور که من متوجه شدم اگر بخواهیم در هر پروژه ای از postsharp استفاده کنیم حتما باید به اینترنت وصل باشیم و بسته چندین مگاباتی نیوگت آن را نصب کنیم. اگر اینطور است در شرکت‌ها و سازمان‌ها همه سیستم‌ها اجازه دسترسی به اینترنت را ندارند.
2- در پروژه من بعد از کامپایل یک پیغام در قسمت output درج می‌شود که می‌گوید چند روز تا انقضای این بسته فرصت دارید. پس از انقضای مهلت مقرر چکار باید کرد چون بنا دارم از این امکان در پروژه ام استفاده کنم.
3- در مثالهایی دریافتی از اینترنت یک فایل اجرایی وجود دارد به نام PostSharp.MSBuild.Samples.exe این فایل چه کاربردی دارد. چون در سیستم من اجرا نمی‌شود.
ExceptionHandling.zip
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
- لینک مستقیمی ندارم. جهت تست از بسته NuGet آن استفاده کنید.
- SQL Server هم تجاری است. Windows هم از بنیان تجاری است. احتمالا از هر دوی این‌ها استفاده می‌کنید. تجاری بودن دلیلی برای سرکوب اشتیاق به یادگیری مطلبی نیست و نخواهد بود.
- ضمن اینکه در قسمت‌های بعدی نمونه‌های سورس باز هم معرفی شده‌اند.
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
جزئیات مراحل اتصال Aspects در قسمت قبل بررسی شدند. همچنین این کتابخانه صرفا DLL ایی نیست. یک سری مراحل post build را باید به VS.NET اضافه کند تا پس از کامپایل اولیه برنامه، کار تغییر اسمبلی را انجام دهد.
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp
با سلام
من آخرین نسخه  postsharp رو از سایت نیوگت دریافت کردم در یک برنامه ساده HelloWord استفاده کردم وقتی دیباگ می‌کنم  وارد قسمت Aspect نمی‌شود با چند dll مختلف امتحان کردم و فقط یک ورژن 2 پیدا کردم که جواب داد آیا تنظیمات خاصی نیاز دارد؟
بازخوردهای دوره
نگاهی به انواع Aspects موجود در کتابخانه PostSharp

اگر امکان دارد لینک مستقیمی جهت دریافت postsharp معرفی کنید.

ضمن اینکه با توجه به اینکه که فرمودید postsharp بسته تجاری و مدت دار است آیا درست است که پروژه امان را وابسته به آن کنیم.

تشکر