visual studio 2010 - সমাধান থেকে nuget প্যাকেজ পুনরুদ্ধার মুছে ফেলুন




visual-studio-2010 visual-studio (10)

Nuget প্যাকেজ পুনরুদ্ধার অক্ষম করতে:

  1. মুছে ফেলুন। ফোল্ডার খুলুন
  2. সব .csproj ফাইল থেকে নির্দিষ্ট লাইন মুছে ফেলুন

লাইন অপসারণ:

<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<RestorePackages>true</RestorePackages>

দ্রষ্টব্য: সমাধান পুনরায় লোড করার আগে আপনি একবারে সমস্ত পরিবর্তনগুলি করবেন কিনা তা নিশ্চিত করুন বা অন্যথায় এটি আবার যুক্ত করবে।

এটি নিচের নিবন্ধটি উপর ভিত্তি করে: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html

এছাড়াও, আপনি এই বিকল্পটিকে অক্ষম করতে দ্বিগুণ চেক করতে পারেন: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

আমি 'NuGet প্যাকেজ পুনরুদ্ধার সক্ষম করুন' ব্যবহার করে একটি সমাধানতে সাম্প্রতিক nuget প্যাকেজ পুনরুদ্ধার বৈশিষ্ট্যটি যোগ করেছি: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

তবে এটি আমার বিল্ড সার্ভার ভেঙ্গে গেছে এবং আমার এটি ঠিক করার সময় নেই, তাই আমি এটি সরাতে চেয়েছিলাম। যতদূর আমি জানি তার জন্য কোন বিকল্প নেই, তাই আমি আমার * .csproj ফাইলগুলি থেকে নিচের লাইনটিকে ম্যানুয়ালি সরিয়ে ফেলেছি:

<Import Project="$(SolutionDir)\.nuget\nuget.targets" />

সমস্যা এখন আমার * .csproj ফাইলগুলি চেক আউট করা হয় বা আমার সমাধান খুলতে গেলে, লাইন স্বয়ংক্রিয়ভাবে আবার যোগ করা হয়, যদি আমি ভুলভাবে এটি পরীক্ষা করে দেখি:

কোন ধারনা আমি কিভাবে স্থায়ীভাবে মুছে ফেলতে পারি?

আপডেট: নিচের উত্তরটি সত্ত্বেও সমাধানটি খুলে আবার ফিরে আসছে, একই সমস্যা নিয়ে কেউ?


Nugget sucks। শুধু nugets সরান এবং প্যাকেজ উপাদান অপসারণ করুন অথবা প্যাকেজ উপাদান থেকে মন্তব্য করুন যেখানে এটি একটি সমস্যা। পরিবর্তে কিছু lib ফোল্ডারে সরাসরি রেফারেন্স ব্যবহার করুন।

<?xml version="1.0" encoding="utf-8"?>
  <packages>
    <!--<package id="EntityFramework" version="6.0.2" targetFramework="net45" />-->
  </packages>

আপনার সমাধান মধ্যে প্যাকেজ . config ফাইল মুছে ফেলুন।


আপনার সলিউশন ডিরেক্টরীতে যান যেখানে আপনার [$(SolutionDir)\.nuget\nuget.targets] .nuget ফোল্ডারটি nuget.targets এবং nuget.targets ফাইলটি এর অধীনে ফাইলটি মুছুন এবং শেষবারের জন্য আপনার csproj থেকে লাইনগুলি সরান।

সমস্যা আবার আপনি বাগ ফিরে আসতে হবে না।


আমারও একই প্রশ্ন ছিল. আমি কি শেষ করেছি: 1) সমাধান প্রতিটি .csproj ফাইল মধ্যে যান, নোটপ্যাডে এটি খুলুন তারপর এক্সএমএল অংশ মুছে ফেলা এবং সংরক্ষিত।

2) তারপর আমি পুরো সমাধান প্যাকেজ.config ফাইল সব মুছে ফেলা।

3) তারপর আমি .getget এবং প্যাকেজ ফোল্ডার মুছে ফেলতে ছিল।

এই সময়ে, আমি একটি সম্পূর্ণ NuGet ফ্রি সমাধান ছিল।

4) তারপর আমি নিজে কোন প্রয়োজনীয় DLL উল্লেখ করলাম এবং কম্পাইল আঘাত করলাম এবং সমাধানটি NuGet প্যাকেজগুলির প্রয়োজন ছাড়াই চ্যাম্পিয়নের মত দৌড়ে গেল।


আমি 2012 ব্যবহার করে কোন গ্রহণযোগ্য গ্রহণ সমাধান অনুসরণ করে। এই কাজ যদিও,

  1. সম্পূর্ণরূপে ভিএস বন্ধ
  2. <RestorePackages>true</RestorePackages> থেকে <RestorePackages>false</RestorePackages> এবং <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> লাইনটি <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
  3. এছাড়াও nuget.exe থেকে nuget.exe.NotExe নামকরণ করা nuget.exe.NotExe

আমি খুব ভাল দেখিনি, প্রকল্পের ফাইলগুলিতে আরও একটি সম্পত্তি যোগ করা হয়েছে:

<RestorePackages>true</RestorePackages>

শুধু * .csproj ফাইলগুলি থেকে সমস্ত এই লাইনগুলি নিজে থেকে সরিয়ে ফেলতে হবে:

  <Import Project="$(SolutionDir)\.nuget\nuget.targets" />

হালনাগাদ:

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

UPDATE2:

সমাধান রুট থেকে .nuget ফোল্ডার মুছে দিন

UPDATE3:

NuGet এর একটি পরবর্তী সংস্করণটি আপনাকে আরেকটি বিভাগ যোগ করে যা আপনাকে অপসারণ করতে হবে:

 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
  </Target>

Update4

.nuget ফোল্ডারে অবস্থিত NuGet.Targets ভিতরে, অন্য একটি বিভাগ যা নতুন প্রকল্পগুলিতে যোগ করা হয় ... এটি মিথ্যাতে স্যুইচ করুন।

<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
    RestorePackages;
    $(BuildDependsOn);
</BuildDependsOn>

আমি সঠিক একই সমস্যার মধ্যে দৌড়ে গিয়েছিলাম এবং সমস্ত ফাইল মুছে ফেলার চেষ্টা করেছি। পুনঃস্থাপন এবং প্রকল্প ফাইলগুলি থেকে পুনরুদ্ধারের ট্যাগগুলি কিন্তু একটি প্রকল্প কেবল পুনঃ লোড হবে না। আমি কিভাবে এটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করব। Nuget এবং RestorePackages ট্যাগগুলির জন্য। আমি এই কোথাও কিছু লুকানো রেফারেন্স আছে অনুমান।

শেষ পর্যন্ত ফাইলগুলি অনুলিপি করা এবং একটি নতুন প্রকল্প তৈরি করা এবং সমাধানটি এটিকে আমদানি করা সহজ ছিল।


নুগেটে স্বয়ংক্রিয় প্যাকেজ পুনরুদ্ধারের জন্য স্থানান্তরের বিষয়ে একটি ব্লগ পোস্ট রয়েছে: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore

ব্লগের পোস্টে একটি পাওয়ারশেল স্ক্রিপ্ট রয়েছে যা প্রয়োজনীয় লাইনগুলি স্বয়ংক্রিয়ভাবে (এবং পুনরাবৃত্তিমূলক) অপসারণের যত্ন নেবে: https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1

একটি অক্ষম নুগেট প্যাকেজ পুনঃস্থাপন বিকল্পটি সরাসরি সমাধান করা হবে না হিসাবে চিহ্নিত করা হবে: https://nuget.codeplex.com/workitem/1883


পুরাতন স্টাইল NuGet প্যাকেজ পুনঃস্থাপন ব্যবহার করে যেকোনও প্রজেক্টটি পরিষ্কার করার জন্য যেহেতু here উপলব্ধ আইফিক্স সরঞ্জাম প্রক্রিয়াটি স্বয়ংক্রিয় করে।

শুধু ইনস্টলার চালান ( IFix PATH যোগ করা হবে) এবং তারপরে নিম্নোক্ত চালনা করুন:

IFix nugetrestore --fix

আপনি এটি পরিষ্কার করতে হবে কি দেখতে চেক মোডে এটি চালাতে পারেন:

IFix nugetrestore --check






nuget