প্যাকেজ পুনরুদ্ধার করার সময় .nuget ফোল্ডারে স্বয়ংক্রিয়ভাবে nuget.exe আপডেট করার কোনও উপায় আছে?


92

আমার দল প্যাকেজগুলিকে আমাদের উত্স নিয়ন্ত্রণ থেকে দূরে রাখতে নুগুয়েট 1.5 থেকে প্যাকেজ রিস্টোর সক্ষম করুন বিকল্পটি ব্যবহার করছে। যখন নিউজ 1.6 প্রকাশিত হয়েছিল তখন আমরা একটি সমস্যা লক্ষ্য করেছি যেখানে এটি প্যাকেজগুলি নীচে টানছে না এবং এটি প্যাকেজ ম্যানেজারের সাথে মিলে যায়।

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

উত্তর:


148

আমি কমান্ড লাইন থেকে এই কমান্ডটি দিয়ে .nuget \ nuget.exe আপডেট করার পরামর্শ দেব:

nuget.exe update -self

[সম্পাদনা]: প্রথমে ভিএস সমাধান বন্ধ করুন। যদি আপডেট থাকে এবং সমাধানটি খোলা হয় তবে nuget.exe সমাধান থেকে সরানো হবে।

আপনি পারে স্বয়ংক্রিয়ভাবে উপরোক্ত কমান্ডের যোগ করার জন্য .nuget \ nuget.targets পরিবর্তন করে পূর্বাবস্থায় ফিরিয়ে আনুন nuget.exe আপডেট করুন। আমি উদাহরণ হিসাবে সেখানে পুনরুদ্ধার কমান্ড তাকান। তবে আমি নিশ্চিত নই যে এটির মূল্য আছে কিনা, নুগেট.এক্সই আপডেটগুলি সাধারণ নয়, এবং পশ্চাদপটে সামঞ্জস্যতা খুব কমই ভাঙা উচিত।


আমি আমার একটি প্রকল্পে এটি চেষ্টা করেছি। এটি NuGet.exe আপডেট করেছে তবে মনে হচ্ছে এটি আমার সমাধান থেকে সরিয়ে ফেলেছে। আমি জানি আমি এটি এটিকে আবার যুক্ত করতে পারি তবে এটি অদ্ভুত বলে মনে হয়েছিল।
রিক

ঠিক আছে, আমি এবার একটি বাস্তব আপডেট চেষ্টা করেছি এবং nuget.exe আমার জন্য ভিএস সমাধান থেকেও সরিয়ে ফেলেছে। (Nuget.exe আপ টু ডেট থাকার পরে আমি এটি পাইনি)। এটি ঘটে কারণ আপডেটের সময় বর্তমান nuget.exe প্রথমে nuget.exe.old এ স্থানান্তরিত হয় তাই ফাইলের রেফারেন্সটি নষ্ট হয়ে যায়। আমি সন্দেহ করি এটি স্থির হয়ে যাবে, আমি কমান্ডটি সমাধান বন্ধ করে দিয়ে চালাব।
আলেকজান্দ্রি ডিওন

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

@ উইলিয়াম গ্রস ভালভাবে আপনি পরীক্ষা করতে পারবেন nuget.org/packages/NuGet.Build (এই প্যাকেজটিতে nuget.targets রয়েছে)
আলেকজান্দ্রি ডিওন

আমার জন্য কাজ করেছেন, কেবল প্রশাসক হিসাবে সেন্টিমিডি চালানো মনে রাখবেন
মোহাম্মদ

31

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


4
+1 - আমি খুঁজে পেয়েছি যে এটি ফাইলের NuGet.exe পাশাপাশি আপডেটও পাওয়ার সবচেয়ে ভাল উপায় NuGet.targets(এটিও গুরুত্বপূর্ণ)। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি NuGet.targetsফাইলটিতে তৈরি করেছেন এমন কোনও কাস্টমাইজেশন (যেমন কাস্টম প্যাকেজসোর্স) সংরক্ষণ করেছেন যাতে আপনি সেগুলিকে নতুন ফাইলে পুনরায় প্রয়োগ করতে পারেন।
জেসি ওয়েব

দুর্দান্ত যে আমার জন্য কবজ মত কাজ করেছে !! তথ্যের জন্য ধন্যবাদ
গায়ান

-3

ডেভিড এবো এর পোস্টটি তার ব্লগে দেখুন

মূলত, আপনাকে যা করতে হবে তা হ'ল আপনার .sln ফাইলের পাশে একটি নিউগেট.কনফিগ ফাইল তৈরি করা উচিত:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear/>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="aspnetwebstacknightlyrelease" value="https://www.myget.org/f/aspnetwebstacknightlyrelease/" />
  </packageSources>
</configuration>

4
প্রশ্ন জিজ্ঞাসা করে প্যাকেজ পুনরুদ্ধার করার সময় সাম্প্রতিক সংস্করণে nuget.exe কীভাবে স্বয়ংক্রিয়ভাবে আপডেট করবেন। ডেভিড এবো এর ব্লগ পোস্ট কেবল nuget.exe ব্যবহার করে কীভাবে প্যাকেজ পুনরুদ্ধার করবেন তা ব্যাখ্যা করে।
ফ্রিথ

আপনি সম্ভবত প্রশ্নের কোন অংশটির উত্তর দিতে হবে তা অবশ্যই নির্দিষ্ট করা উচিত, প্রশ্নের শিরোনাম এবং গৃহীত উত্তরের দিকে তাকালে এই উত্তরটি ভুলভাবে বিবেচনা করা সহজ ...
জেনস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.