.Nuget ফোল্ডারটি সংস্করণ নিয়ন্ত্রণে যুক্ত করা উচিত?


107

নিউগেটের নতুন সংস্করণগুলির সাহায্যে নুগেট প্যাকেজগুলি স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করার জন্য একটি প্রকল্পটি কনফিগার করা সম্ভব হবে যাতে packagesফোল্ডারটি উত্স কোড সংগ্রহস্থলগুলিতে অন্তর্ভুক্ত করার প্রয়োজন না হয়। ভাল.

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

আপনি কীভাবে লোকেরা এটি মোকাবেলা করবেন? উত্স নিয়ন্ত্রণে .nuget যুক্ত করবেন? সমাধান খোলার আগে কিছু কমান্ড লাইন স্ক্রিপ্ট চালাবেন?


এটি সর্বাধিক খাঁটি লিংক ডক্স.নুগেট.আর / ডকস / ওয়ার্কফ্লোস্ এবং এটি যেহেতু এটি একটি পুরানো থ্রেড। আমি কেবল মন্তব্যে তথ্যগুলি ভাগ করতে চাই ...
নাভিদ বাট

উত্তর:


47

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

http://docs.nuget.org/docs/reference/package-restore

আপডেট: নিউগেট x.০ এবং .NET স্ট্যান্ডার্ড ২.০ প্রকাশের সাথে সাথে, আপনি যখন নতুন সিএসপ্রোজ ফর্ম্যাটটি ব্যবহার করেন আপনি এখন প্যাকেজ রেফারেন্সগুলি ব্যবহার করতে পারেন, প্যাকেজগুলি পুনরুদ্ধার করার জন্য এমএসবিল্ডের উপর নির্ভরতা পুনরায় তৈরি করতে পারবেন, তবে এখন প্যাকেজগুলি এমএসবিল্ডের প্রথম শ্রেণির নাগরিক are । উপরের লিঙ্কটিও উল্লেখ করে PackageReferenceতবে নীচের ঘোষণাটি এটির আরও বিশদ বিবরণ দেয়:

https://blog.nuget.org/20170316/NuGet-now-fully-integrated-into-MSBuild.html

এবং নিউগেট x.০ আরটিএম ঘোষণা, যা বিদ্রূপজনকভাবে ততটা কার্যকর নয়:

https://blog.nuget.org/20170308/Announcing-NuGet-4.0-RTM.html

আপডেট 2: স্পষ্টত VS2017 এর সাথে আপনি ক্লাসিক সিএসপোজ প্রকল্পগুলির সাথে প্যাকেজ রেফারেন্সগুলিও ব্যবহার করতে পারেন তবে সেগুলি আর পিছনে সামঞ্জস্যপূর্ণ নয় এবং প্যাকেজ উপ-নির্ভরতা পুনরুদ্ধার করতে কিছু সমস্যা হয়েছে। আমি নিশ্চিত যে সব সমাধান করা হবে।


8
এটি কীভাবে স্থানান্তরিত করা যায় তার একটি স্পষ্ট ব্যাখ্যাগিথুব
সিএডি

@ সিএডি ব্লোক, হ্যাঁ এটি নীচে পড়ার তালিকায় রয়েছে, এটি সঙ্কুচিত করার জন্য আপনাকে ধন্যবাদ thank
জেরেমি

আপনি সহজেই ভিএসে নিউজেট আপডেট করতে পারেন Tools > Extensions & Updates > Updates
জোকুল

47

@ রিচার্ড জাজালের উত্তর সঠিক - আপনার nuget.exe করার দরকার নেই। যদি কিছু কারণে ভিজ্যুয়াল স্টুডিওটি স্বয়ংক্রিয়ভাবে nuget.exe ডাউনলোড না করে তবে নিশ্চিত হয়ে নিন যে আপনার ফাইলে নিম্নলিখিত সেটটি সত্য হয়েছে nuget.targets:

<!-- Download NuGet.exe if it does not already exist --> 
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

ভিএস সমাধানটি বন্ধ করুন, এটি আবার খুলুন এবং এটি তৈরি করুন। ভিজ্যুয়াল স্টুডিওতে এখন স্বয়ংক্রিয়ভাবে nuget.exe ডাউনলোড করা উচিত।


যাইহোক, যে কেউ trueডিফল্টরূপে সেট করা হয়নি কেন জানেন ?
আজকালীন

2
এটি আরও গোপনীয়তার উদ্বেগ। "ইন্টারনেটে একটি অনুরোধ করার সহজ কাজটি ব্যবহারকারী সম্পর্কে তথ্য প্রকাশ করতে পারে (উদাহরণস্বরূপ, ব্যবহারকারীর আইপি ঠিকানা থেকে আমরা তার অবস্থান আনুমানিক করতে পারি)।" দেখুন প্যাকেজ পুনরুদ্ধার করুন এবং Nuget বয়ঃপ্রাপ্তির নিবন্ধ ব্লগ
Gan থেকে

1
এফওয়াইআই: নুগেট.এক্সই .nuget ফোল্ডারে উপস্থিত না থাকলে সলিউশনটির প্রসঙ্গ মেনুটি "নুগেট প্যাকেজ রিস্টোর সক্ষম করুন" প্রদর্শন করবে যদিও নুগেট প্যাকেজ রিস্টোরটি ইতিমধ্যে কনফিগার করা আছে। একটি বিল্ড করার পরে বিকল্পটি চলে যাবে।
comecme

এটি স্বীকৃত উত্তর হওয়া উচিত, আইএমও ... নুগেট.এক্সই অতি ক্ষুদ্র হলে আমি সম্ভবত এটি উত্স নিয়ন্ত্রণে আটকে থাকি এবং আপনার উপেক্ষা করা ফাইলটিতে যা কিছু করতে হয় তা মোকাবেলা করতে পারি। তবে এটি 1.5 মেগা, আমার পক্ষে সর্বদা এটি গণের মতো করার পক্ষে যথেষ্ট।
ব্রায়ান ম্যাকেকে

এটি nuget.exe ফর্মটি কোথায় ডাউনলোড করে? আমার বিল্ডার্সভারের ইন্টারনেট না থাকলে কী হবে?
বিটবঙ্ক


20

আপনি প্রতিশ্রুতিবদ্ধ করা প্রয়োজন .nuget\nuget.targets, কিন্তু না nuget.exe। যদি এটা কোন অস্তিত্ব নেই লক্ষ্যমাত্রা EXE ডাউনলোড, যতদিন হবে আপনি পরিবর্তন DownloadNuGetExeকরতে truenuget.targets মধ্যে


4

যদিও আমি সাধারণত উত্স নিয়ন্ত্রণে এক্সপি যুক্ত করার ধারণা পছন্দ করি না, তবে আমি পরামর্শ দেব যে প্রকল্পটি খোলার, নির্মাণ ও সম্পাদনের জন্য সোর্স কন্ট্রোলটিতে যে কোনও কিছু থাকা উচিত।

এই ক্ষেত্রে মনে হচ্ছে। ন্যুগেট ফোল্ডারটি একটি প্রয়োজনীয় নির্ভরতা। সুতরাং এটি উত্স নিয়ন্ত্রণে থাকা উচিত।

কেবলমাত্র একটি প্রশ্ন, যা আপনার গবেষণা করা দরকার, তা হ'ল নুগেট কীভাবে প্রতিক্রিয়া দেখিয়ে চলেছে যদি সেই ফোল্ডারটি কেবল পঠনযোগ্য হিসাবে চিহ্নিত হয়, যা টিএফএস একবার যাচাই করার পরে তা করবে।


আপডেট: আমি এ বিষয়ে আরও কিছু গবেষণা করেছি কারণ আমি এর আগে কখনই নিউগেট ব্যবহার করি নি। http://blog.davidebbo.com/2011/03/using-nuget-without-committing-packages.html

আমি পরামর্শ দেব যে সম্ভবত আপনি যা করতে চান তা হ'ল নুগেটকে এমন একটি প্রয়োজনীয়তা তৈরি করুন যা প্রতিটি বিকাশকারী ওয়ার্কস্টেশনে ইনস্টল করতে হবে।

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

এর বাইরে আমি বলব আপনি সম্ভবত নিউগেটের সাথে যোগাযোগ করতে চাইতে পারেন তাদের জিজ্ঞাসা করার জন্য, ঠিক কীভাবে এটি কাজ করবে বলে মনে করা হচ্ছে।


1
আমি ভেবেছিলাম যে <RestorePackages>true</RestorePackages>* .csproj ফাইলটিতে ভিজ্যুয়াল স্টুডিওর জন্য পর্যাপ্ত তথ্য হওয়া উচিত তবে এটি তা নয়।
বোরেক বার্নার্ড

1

এখন সেই নুগেট প্যাকেজ পুনরুদ্ধারকে সমর্থন করে আমরা এটিকে আরও কাছাকাছিভাবে দেখছি।

আমরা সোর্স কন্ট্রোলের জন্য সাবভারশন ব্যবহার করি এবং আমার প্রাথমিক চিন্তাভাবনাগুলি হ'ল.nuget আমাদের সংগ্রহশালায় যুক্ত করা উচিত, তবে এসএনএন: এক্সটার্নাল ব্যবহার করে যাতে এটি কোনও একক স্থানে নির্দেশ করে।

এইভাবে আমরা সমস্ত বিকাশকারী এবং প্রকল্পগুলিতে স্বয়ংক্রিয়ভাবে নতুন সংস্করণ প্রসারণ করতে পারি। হেডের চেয়ে রিলিজ শাখাগুলিতে প্রকল্পগুলির জন্য, আমরা এসএনএন- র পুনর্বিবেচনা নির্দিষ্ট করতে পারি : আমরা যদি একাই নুগেট ছেড়ে যেতে চাই তবে বাহ্যিক রেফারেন্স।

আমাদের অনেকগুলি প্রকল্প রয়েছে, সুতরাং এর অর্থ রেপোতে nuget.exeএকাধিকবার নকল করাও নয় ।


আমি বাহ্যিক প্রকল্প প্যাকেজগুলি পুনরুদ্ধার করতে নিউগেট পেতে পারি না। এই কাজ কি তোমার জন্য ছিল?.
ডোগুহান উলুকা

হ্যাঁ, যদিও পাওয়ারগেল বা এক্সটেনশন প্লাগইন সূক্ষ্মভাবে কাজ করে তবে NuGet.exe আমাদের স্থানীয় রেপো (আইআইএস 6 + এসএসএল + এডি প্রমাণীকরণ) অনুমোদন করতে সমস্যা হতে পারে বলে মনে হচ্ছে।
si618

1

আমরা আশা করি আপনি nuget.configযেমন, আমাদের অভ্যন্তরীণ Nuget সার্ভারে রেফারেন্স আছে প্যাকেজ সোর্স এলাকায় ব্যবহার করে, ফোল্ডারে ফাইল: https://docs.nuget.org/consume/nuget-config-settings

এই কারণটি ছাড়াও, আপনার ভিজ্যুয়াল স্টুডিওকে প্যাকেজগুলি ডাউনলোড করতে পরিচালনা করতে দেওয়া উচিত।

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