اشتراکها
اگر قصد انتشار عمومی پروژه خود را دارید، نیازی به ارائه پوشه packages آن نیست. استفاده کننده نهایی به روشی که در ادامه توضیح داده خواهد شد، میتواند ارجاعات کل Solution را به یکباره به روز نماید؛ البته اگر تنها فایل یا فایلهای packages.config پروژههای موجود پیوست شده و موجود باشند.
یک آزمایش
یک پروژه کنسول جدید را آغاز میکنیم. سپس به Solution آن یک Class library آزمایشی را نیز اضافه خواهیم کرد.
اکنون در خط فرمان پاورشل نیوگت (Tools > Library Package Manager > Package Manager Console) به هر یک از این دو پروژه، ارجاعی را به بسته structuremap از طریق دستور زیر اضافه میکنیم:
اکنون یکبار پروژه را کامپایل کرده و سپس VS.NET را خاتمه میدهیم.
در ادامه پوشههای packages و همچنین bin و obj را کلا حذف میکنیم؛ اما فایلهای متنی packages.config پروژهها را نگه خواهیم داشت.
مجددا به VS.NET مراجعه خواهیم کرد. اینبار بر روی Solution کلیک راست کرده و گزینه «Enable NuGet Package Restore» را انتخاب میکنیم:
یک پوشه حاوی NuGet.exe به Solution جاری اضافه خواهد شد:
اکنون اگر پروژه را Build کنیم، تمام ارجاعات را به صورت خودکار از اینترنت (و یا کش موجود بر روی سیستم) دریافت و به Solution اضافه میکند.
به علاوه پوشه Packages نیز مجددا بازسازی خواهد شد.
پس از اینکار نهایتا برای اطمینان خاطر میتوان دستور ذیل را در خط فرمان پاورشل نیوگت صادر کرد:
این دستور به یکباره کلیه ارجاعات موجود packages را بررسی کرده و به روز خواهد کرد. پارامتر safe آن اختیاری است. اگر عنوان شود، سعی میکند همان شماره نگارشی را که در فایلهای packages.config موجود است، دریافت و به روز نماید. در غیر اینصورت، آخرین فایل و آخرین نگارش موجود را دریافت و به روز رسانی خواهد کرد. به این ترتیب میتوان به صرفه جویی زمانی قابل توجهی در یک پروژه با ارجاعات زیاد، رسید.
برای نمونه دستور update-package را بر روی یک پروژه MVC4 اجرا کنید تا این صرفه جویی زمانی را بهتر بتوانید حس کنید!
نتیجه گیری
لطفا حین ارائه عمومی پروژه خود، پوشههای bin، obj و همچنین packages آنرا حذف کنید. استفاده کننده صرفا با داشتن فایلهای packages.config به کمک روشی که عنوان شد میتواند ارجاعات کل Solution را بازیابی کند.
یک آزمایش
یک پروژه کنسول جدید را آغاز میکنیم. سپس به Solution آن یک Class library آزمایشی را نیز اضافه خواهیم کرد.
اکنون در خط فرمان پاورشل نیوگت (Tools > Library Package Manager > Package Manager Console) به هر یک از این دو پروژه، ارجاعی را به بسته structuremap از طریق دستور زیر اضافه میکنیم:
Install-Package structuremap
در ادامه پوشههای packages و همچنین bin و obj را کلا حذف میکنیم؛ اما فایلهای متنی packages.config پروژهها را نگه خواهیم داشت.
مجددا به VS.NET مراجعه خواهیم کرد. اینبار بر روی Solution کلیک راست کرده و گزینه «Enable NuGet Package Restore» را انتخاب میکنیم:
یک پوشه حاوی NuGet.exe به Solution جاری اضافه خواهد شد:
اکنون اگر پروژه را Build کنیم، تمام ارجاعات را به صورت خودکار از اینترنت (و یا کش موجود بر روی سیستم) دریافت و به Solution اضافه میکند.
به علاوه پوشه Packages نیز مجددا بازسازی خواهد شد.
پس از اینکار نهایتا برای اطمینان خاطر میتوان دستور ذیل را در خط فرمان پاورشل نیوگت صادر کرد:
Update-Package -Safe
برای نمونه دستور update-package را بر روی یک پروژه MVC4 اجرا کنید تا این صرفه جویی زمانی را بهتر بتوانید حس کنید!
نتیجه گیری
لطفا حین ارائه عمومی پروژه خود، پوشههای bin، obj و همچنین packages آنرا حذف کنید. استفاده کننده صرفا با داشتن فایلهای packages.config به کمک روشی که عنوان شد میتواند ارجاعات کل Solution را بازیابی کند.
پاسخ به بازخوردهای پروژهها
عدم نمایش سطر آخر رکورد در pdf
مشکلی ندارد. بر اساس «نام سازمان» گروه بندی کردید. مطابق تصویر دوم، دو گروه نام سازمان مختلف دارید، چون این نامها یکی نیستند.
اشتراکها
آییننامه نوآفرین به زبان ساده
اشتراکها
اینترنت چگونه کار میکند؟
اشتراکها