visual studio - সমাধানের জন্য নুগেট প্যাকেজ উত্স সেটিংস করার কোনও উপায় আছে কি?




visual-studio nuget (2)

ভিজ্যুয়াল স্টুডিওতে সমস্ত সমাধানের পরিবর্তে নুগেট প্যাকেজ উত্স কনফিগারেশনটি প্রয়োগ করার কোনও উপায় কী জানেন? আমার সংস্করণে সমস্যা রয়েছে কারণ আমি একাধিক প্রকল্পে কাজ করি যার প্রত্যেকটির নিজস্ব ব্যক্তিগত নিউগেট সংগ্রহস্থল রয়েছে। কোন প্রকল্পের সাথে কোন নুগেট রেপো রয়েছে তা স্মরণ করে রাখা এবং ফিরে গিয়ে সঠিক প্রকল্পটিতে সঠিকটি প্রয়োগ করার জন্য এটি *** এর একটি বেদনা।


আমি বেনাব্লাস্টার দ্বারা সরবরাহিত দুর্দান্ত উত্তরে যুক্ত করতে চাই। আমার কিছুটা বিপরীত সমস্যা ছিল:

সংস্থাটি বিশ্বব্যাপী ডিফল্টরূপে সমস্ত সমাধানের জন্য তাদের কাস্টম প্রাইভেট নুগেট ফিডটি কনফিগার করেছে এবং আমি পাবলিক নুগেট ফিড ব্যবহার করে একটি "প্রোটোটাইপ" অ্যাপ তৈরি করতে চেয়েছিলাম।

এটির সাথে (সেই সমাধানের ডিরেক্টরিতে) পাবলিক নুগেট ফিডটি কেবলমাত্র আমার নির্দিষ্ট সমাধানের জন্যই পাওয়া যায়, অন্য সমস্ত সমাধানের জন্য কোম্পানির ফিডটি ডিফল্ট রাখার সময়:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- Ditch all eventually upwards configured (private) feeds from an (enterprise) environment -->
    <clear />
    <!-- Make sure we use the public nuget -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <disabledPackageSources>
    <!-- Ditch all eventually upwards configured (private) feeds from an (enterprise) environment -->
    <clear />
  </disabledPackageSources>
</configuration>

কীটি ছিল সমস্ত ওপরের দিকে অক্ষম ফিডগুলি সাফ করার জন্য , যেহেতু তারা তাদের অ্যাপেডাটা% \ নুগেটে ইচ্ছাকৃতভাবে তাদের নিউজিট কোডফাইজে সর্বজনীন ফিড অক্ষম করেছে।


টিএলডিআর: হ্যাঁ

নুগেট আপনার উইন্ডোজ ইউজার প্রোফাইলের স্তরে নুগেট.কনফিগ দিয়ে শুরু হওয়া প্যাকেজ উত্সগুলির একটি শ্রেণিবিন্যাসের অ্যাপ্লিকেশন ব্যবহার করে এবং তারপরে আপনার সমাধান রয়েছে এমন ফাইল পাথের মূল থেকে শুরু করে আরও বেশি করে গ্রানুলার কনফিগারেশন প্রয়োগ করে, শেষ পর্যন্ত আপনার সম্বলিত ডিরেক্টরিটি দিয়ে শেষ করে সমাধান ফাইল।

সুতরাং আমি কীটি বের করতে পেরেছি তা এখানে - একটি সহায়ক টুইটারের সৌজন্যে আমাকে এই দস্তাবেজের প্রতি ইশারা করে:

https://docs.nuget.org/consume/nuget-config-file

আপনি যখন ভিজ্যুয়াল স্টুডিওর Tools > NuGet Package Manager > Package Manager Settings: Package Sources বিকল্পে নুগেট Tools > NuGet Package Manager > Package Manager Settings: Package Sources , এটি আপনার %APPDATA%\NuGet ডিরেক্টরিতে পাওয়া NuGet.config ফাইলটিতে ডিফল্টরূপে সেগুলি পরিবর্তনগুলি প্রয়োগ করে। প্রতি-সমাধান (বা সমাধানের প্রতি গ্রুপ) ভিত্তিতে এই সেটিংগুলিকে ওভাররাইড করতে আপনার সমাধান বা সমাধানের পথের পাশাপাশি কৌশলগতভাবে রাখা নিউগেট.কনফিগ ফাইলটি যুক্ত করতে হবে।

আপনি নুগেট ডকুমেন্টটি পড়লে সমস্ত স্পষ্ট হয়ে যাবে, আমি নীচে প্রদত্ত সমাধানটি আপনাকে দ্রুত একক ভিজ্যুয়াল স্টুডিও সমাধানের জন্য একটি কনফিগারেশন নির্দিষ্ট করার অনুমতি দেবে:

  1. % APPDATA% \ নুগেটে নেভিগেট করুন এবং NuGet.config এর একটি অনুলিপি ধরুন
  2. আপনার সমাধানের মূলটিতে একটি অনুলিপি ফেলে দিন - যেমন অ্যাপ্লিকেশন.স্লান যেখানে থাকে।
  3. এই সমাধানের জন্য প্রাসঙ্গিক কেবল নিউগেট প্যাকেজ উত্স ধারণ করার জন্য অনুলিপিটি সম্পাদনা করে আপনার ব্যবহারকারীর প্রোফাইলে প্রয়োগ করা ডিফল্টগুলি ওভাররাইড করুন - উদাহরণস্বরূপ, ব্যক্তিগত সমাধানের ক্ষেত্রে এই সমাধানের জন্য স্বতন্ত্র প্যাকেজ রয়েছে এমন নুগেট উত্স রয়েছে, তবে অন্য প্রকল্পগুলিতে প্রয়োগ করা উচিত নয় - উদাহরণ স্বরূপ:
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>

  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>

  <packageSources>

    <!-- Ditch all the Global NuGet package sources we only want a 
         single private NuGet repo for this project -->
    <clear />

    <!-- Add the private NuGet package source for this solution -->
    <add key="My Private NuGet Server" value="http://myprivatenuget.com:8080/nuget" />

  </packageSources>

  <disabledPackageSources>

    <!-- Add any package sources to ignore here using the same keys as 
         defined in the packageSources list above-->

    <!--<add key="nuget.org" value="true" />-->

    <add key="Microsoft and .NET" value="true" />

  </disabledPackageSources>

</configuration>

আপনি যদি একাধিক সমাধানে প্রয়োগ করার জন্য কনফিগারেশন চান, তবে আপনার সমাধান ফোল্ডারগুলি একটি সাধারণ ডিরেক্টরিতে অন্তর্ভুক্ত রয়েছে এবং সেই সাধারণ ডিরেক্টরিতে এই সমাধানগুলির জন্য উপযুক্ত প্যাকেজ উত্সগুলির জন্য নুগেট.কনফিগ রাখুন, এটি নিশ্চিত করে যে প্রকল্পগুলির জন্য কোনও সমাধানের ফোল্ডার নেই এই প্যাকেজ উত্সগুলি ব্যবহার করার জন্য এই সাধারণ ফোল্ডারে নেই।







nuget