নিউগেট প্যাকেজগুলি অনুপস্থিত


297

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

আমি নীচের ত্রুটি পাচ্ছি:

এই প্রকল্পটি এই কম্পিউটারে অনুপস্থিত নুগেট প্যাকেজগুলির উল্লেখ করে। সেগুলি ডাউনলোড করতে নিউগেট প্যাকেজ রিস্টোরটি ব্যবহার করুন। আরও তথ্যের জন্য, http://go.microsoft.com/fwlink/?LinkID=322105 দেখুন । অনুপস্থিত ফাইলটি হ'ল .. \ প্যাকেজগুলি \ মাইক্রোসফট. নেট.কম্পাইলার্স.০.০.০ \ বিল্ড \ মাইক্রোসফট.নেট.কম্পিলার.পড়ল

  1. আমার সমাধানগুলিতে আমার .nuget ফোল্ডার নেই।
  2. সমাধানটিতে আমার একটি প্যাকেজ ফোল্ডার রয়েছে এবং আমি এটি মুছে ফেললে মনে হয় নুগেট নির্ভরতা পুনর্নির্মাণ করে তবে প্রকল্পটিতে এখনও উপরের ত্রুটি রয়েছে।
  3. আমি প্রকল্পটি টিএফএস থেকে অপসারণ করার চেষ্টা করেছি এবং এটি ঠিক করে নি।
  4. উপরের ত্রুটিটির পাশাপাশি, প্রকল্পের সমস্ত উল্লেখগুলিতে হলুদ সতর্কতা চিহ্ন রয়েছে এবং তারা নিখোঁজ রয়েছে বলে।
  5. আমি যখন প্রকল্পটির জন্য নুগেট প্যাকেজ ম্যানেজারটি পরীক্ষা করেছিলাম, "অনুপস্থিত" সমস্ত কিছুতে মাইক্রোসফট. নেট.কম্পেলারগুলি সহ তার পাশে একটি সবুজ রঙের টিক রয়েছে।
  6. আমি একটি নতুন ওয়েব এপিআই / এমভিসি প্রকল্প যুক্ত করার চেষ্টা করেছি এবং এটি একই ধরণের সমস্যার মুখোমুখি হয়েছিল যেখানে বেশিরভাগ রেফারেন্স যেমন ওউইন হলুদ সতর্কতা চিহ্নের সাথে "নিখোঁজ" ছিল।

নতুন ব্যবহারকারীদের নিম্নমানের পোস্টের উত্তর পোস্ট করা শিয়ার পরিমাণের কারণে এই প্রশ্নটি বন্ধ করতে ভোট দেয়।
ZF007

উত্তর:


265

আমার আজ একই ত্রুটি (ঠিক একই প্যাকেজটি অনুপস্থিত) ছিল। আমি একটি এমভিসি + ওয়েব এপিআই প্রকল্পও তৈরি করেছি।

এটি সুখী হয়েছে কারণ আমি অ্যাপ ফাইলগুলি (.csproj সহ) ফাইলটিকে অন্য জায়গায় সরিয়েছি moved আমি ম্যানুয়ালি .sln ফাইল আপডেট করেছি তবে সমস্ত প্যাকেজ নির্ভরতা এখন (ভিজ্যুয়াল স্টুডিও 2015) .csproj ফাইলে সঞ্চিত।

.Csproj ফাইল সম্পাদনা করা এবং সমাধান ফোল্ডারের (যার মধ্যে প্যাকেজ ফোল্ডার রয়েছে) সম্পর্কিত আপেক্ষিক পথটি সংশোধন করা আমার জন্য সমস্যার সমাধান করেছে।


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

2
আমি কেবলমাত্র আমার কম্পিউটার থেকে সেই প্যাকেজটি সরিয়েছি এবং এটি কার্যকর হয়েছে।
SpoiledTechie.com 13'13

1
ভিজ্যুয়াল স্টুডিও সমাধানে কোনও প্রকল্পকে শারীরিকভাবে অন্য কোনও জায়গায় নিয়ে যাওয়ার সময় আমি ত্রুটিটি পেয়েছি। এই পৃষ্ঠার কোনও সমাধানই কাজ করেনি, তাই আমি প্রকল্পের একটি অনুলিপি (ফাইল সিস্টেমে) তৈরি করেছিলাম এবং ভিএস-এর মূল প্রকল্পের সমস্ত রেফারেন্স পুরোপুরি সরিয়েছি আমি তখন প্রকল্পটি পুনরায় তৈরি করেছি এবং এতে বিট এবং টুকরাগুলি অনুলিপি করেছি (আমার তৈরি অনুলিপি থেকে)। শ্রমসাধ্য, কিন্তু এটি কাজ করে।
অ্যান্ড্রু জেনস

2
প্রকল্পটি এক স্থান থেকে অন্য জায়গায় সরিয়ে দেওয়ার পরেও আমার একই সমস্যা ছিল। ".Csproj" ফাইলে প্যাকেজগুলির স্থির পথটি সমস্যার সমাধান করেছে।
নির্মান

2
@ মিয়োস্জউইকজোরেক আমি প্যাকেজ ম্যানেজার কনসোলে কমান্ডটি চালানোর চেষ্টা করেছি এবং এটি সমস্যার সমাধান করেনি। এটি সমস্ত প্যাকেজ পুনরায় লোড করেছে, তবে উল্লেখগুলি এখনও পাওয়া যায় নি।
ফ্রান্সিসকো ডি'অংকোনিয়া

360

এই কোডটি .csprojফাইল থেকে সরিয়ে আমি আমার সমস্যার সমাধান করেছি :

<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>

5
আমি একাধিক পৃথক সমাধানে প্রকল্পটি উল্লেখ করছি বলে গৃহীত উত্তর কার্যকর হবে না। এটিই ছিল একমাত্র ফিক্স। এটি মন্তব্য করেছে এবং এটি আ মনোমুগ্ধের মতো কাজ করেছে।
লেভি ফুলার

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

4
এটি আমার জন্যও কাজ করেছিল। বাজে যে ত্রুটি বার্তাটি নিজেরাই প্রজ ফাইলে হার্ড-কোডড ছিল ...
রায়ান পিটার্স

7
ভিএস 2017 এ এখনও এই সমস্যাটি বিদ্যমান রয়েছে তা নিশ্চিত হয়েছি। আমি ভিজ্যুয়াল স্টুডিও 2015 থেকে 2017 পর্যন্ত একটি প্রকল্প স্থানান্তর করেছি এবং 2017 সালে প্রথম সংকলন করার পরে এই ত্রুটি বার্তাটি পেয়েছি This এটি বাগটি ঠিক করেছে।
টম ম্যাকডোনাল্ড

2
কার্যকারিতা মোছা কেন, আপনার প্রকল্প ভাঙা ইত্যাদি ঝুঁকিপূর্ণ করে? @ হাইজিকো যেমন উল্লেখ করেছেন এটি পরে সমস্যা হতে পারে। ত্রুটিটি "প্যাকেজ পুনরুদ্ধার সক্ষম করুন" ঠিক তেমনটি করতে পেরেছিলাম। এই পৃষ্ঠায় কোথাও আমার উত্তর দেখুন ...
নিকো

45

সতর্কতা - পুরো সমাধানের জন্য এই প্যাকেজগুলি কেবলমাত্র প্রকল্প নয়।

আপনার যদি আরও একটি অনুপস্থিত নুগেট প্যাকেজ থাকে যা আপনার সমাধানটি তৈরি করার সময় আপনার ত্রুটিটি প্রদান করছে তবে টুলস> নুগেট প্যাকেজ ম্যানেজার> প্যাকেজ ম্যানেজার কনসোল থেকে নিউগেট কমান্ড কনসোল ব্যবহার করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন। এটি আপনার সমস্ত বর্তমান প্যাকেজ পুনরায় ইনস্টল করবে।

Update-Package –reinstall

হালনাগাদ:

আপনি প্যারামিটার হিসাবে নির্দিষ্ট প্রকল্পের নাম পাস করতে পারেন।

Update-Package –reinstall -ProjectName SampleApp

1
এটি আমার পক্ষে কাজ করেছে। একটি সিস্টেমে গিটের মাধ্যমে পরিবর্তনগুলি ঠেকানো এবং অন্যটিতে এগুলি টানানোর পরে আমার জন্য ত্রুটিটি বেড়ে যায়। সম্ভবত আমার .gitignore সঠিকভাবে প্যাকেজগুলির জন্য কনফিগার করা হয়নি।
প্যাট্রিক বোর্কোভিজ

16
সাবধানতা ... পুরো প্রকল্পের জন্য এই প্যাকেজগুলি কেবলমাত্র প্রকল্প নয় updates
এসও ব্যবহারকারী

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

8
আপনি কেবলমাত্র নির্দিষ্ট প্রকল্পের জন্য তৈরি করতে -প্রজেক্টনাম প্যারামিটার যুক্ত করতে পারেন, সম্পূর্ণ সমাধান নয়।
মিয়োসজ উইকজোরেক

2
VS2017 এর অর্ধেক পথ ক্র্যাশ হয়ে গেছে এবং এটি সমস্ত কিছু ভেঙে ফেলেছে
রোলস

19

আমার এই হতাশার বার্তাটি ছিল। পরিশেষে আমার জন্য যা কাজ করেছে তা হ'ল / প্যাকেজগুলির অভ্যন্তরে সমস্ত ফাইল এবং ফোল্ডার মুছে ফেলা হয়েছে এবং পরবর্তী বিল্ডটিকে ভিএস পুনরায় আনতে দেওয়া হয়েছিল।


2
আমি সমাধানটিতে ডান ক্লিক করেছি এবং Restore Nuget Packages
ভিজিট ক্যানোভা

1
আমি সমাধানটিতে ডান ক্লিক করলে আমার কোনও পুনরুদ্ধার প্যাকেজ প্যাকেজ নেই ... আমি VS 2013 ব্যবহার করছি ..
জিগ্লার

এটি সঠিক প্যাকেজটিতে পুনরুদ্ধার করে তাও নিশ্চিত করতে হয়েছিল। প্যাকেজ ফোল্ডারের অবস্থানের জন্য নোট / সম্পাদনা * .csproj ব্যবহার করে
.csproj দেখুন

15

টিবেরিও ঠিক আছে। ফাইলগুলি সরানো এবং এই সমস্যার কারণ হিসাবে আমাকে আমার .csproj ফাইলটি সম্পাদনা করতে হয়েছিল

 <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

আমি ফাইলের উপরে এবং নীচে পরিবর্তন করেছি

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />

শেষ পর্যন্ত আমার জন্য কী কাজ করা ছিল তা ছিল ফাইলের শেষে কেবলমাত্র লাইনটি সম্পাদনা করা, তবে শীর্ষে নয়
ISAE

15

এইভাবে আমার ত্রুটিটি সমাধান হয়েছে: ভিজ্যুয়াল স্টুডিও 2015+ সমাধান এক্সপ্লোরারে আপডেটের জন্য .csproj ফাইলটি খুলতে:

প্রকল্পের নামটি ডান-ক্লিক করুন -> প্রকল্পটি আনলোড করুন

প্রকল্পের নামটি ডান-ক্লিক করুন -> সম্পাদনা .csproj

নিম্নলিখিত লাইনগুলি সরান:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

প্রকল্পের নামটি ডান ক্লিক করুন -> প্রকল্পটি পুনরায় লোড করুন

অবশেষে আপনার সমাধানটি তৈরি করুন।


সিএসপিজেজে ম্যানুয়ালি পাথগুলি ঠিক করার পরে আমি এনসিউরনুগেটপ্যাকেজবিল্ড ইম্পোর্টস বিভাগটি সরিয়েছি এবং এটি পুরোপুরি কার্যকর হয়েছে। ধন্যবাদ
উইলিমন

11

.Csproj ফাইল থেকে নিম্নলিখিত কোডটি সরিয়ে আমি এই সমস্যাটি সমাধান করেছি

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
  <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />


1
তবে প্রথম কোথায় এই ভুল? ভিজ্যুয়াল স্টুডিওতে বাগ?
রক্ষক এক

8

2 টি উত্তরের সংমিশ্রণটি আমার পক্ষে কাজ করেছিল। প্রথমে আমি 1.0.0 সংস্করণে রেফারেন্স সরিয়ে নিতে .csproj ফাইলটি পরিবর্তন করেছি

< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >

  ----Error---

< /Target>

এবং তারপর করেছে

Update-Package -Reinstall

থেকে এবং এটি কাজ করে।


6

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

এখানে চিত্র বর্ণনা লিখুন


6

কেবল নিউগেট প্যাকেজ পুনরুদ্ধার সক্ষম করুন। আপনার সমাধানটি ডান ক্লিক করুন> 'নিউগেট প্যাকেজ পুনরুদ্ধার সক্ষম করুন' নির্বাচন করুন।

আপনার সমাধানটি ডান ক্লিক করুন> 'নিউগেট প্যাকেজ পুনরুদ্ধার সক্ষম করুন' নির্বাচন করুন

এটি NuGet.Config ফাইল সহ .nuget ফোল্ডারটি তৈরি করবে এবং আমার সমস্যাটি স্থির করবে।


ধন্যবাদ !! আমিও একই ধরণের পরিস্থিতির মুখোমুখি হয়েছি এবং 'নুগেট প্যাকেজ রিস্টোর সক্ষম করুন' কাজ করেছে।
জৈন প্রিন্স

18
এটি আমার পক্ষে জাগেনি, এটি বলে যে "সমস্ত প্যাকেজ ইতিমধ্যে ইনস্টল করা আছে এবং পুনরুদ্ধার করার মতো কিছুই নেই।"
ডালিবোর

5

আমি ভিএস ২০১২ ব্যবহার করছি এবং একই ত্রুটির মুখোমুখি হচ্ছি। আমি .csproj ফাইল থেকে নিম্নলিখিত টার্গেট ট্যাগটি সরিয়েছি এবং এটি কোনও ত্রুটি ছাড়াই সংকলন শুরু করে।

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  -- Error messages within Target Tag
</Target>

5

এখানে কয়েকটি উত্তরের প্রসারিত করতে হ্যাঁ আপনি আপনার .csproj ফাইল থেকে নিম্নলিখিত ব্লকটি সরিয়ে ফেলতে পারেন:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

এবং এটি সমস্যার সমাধান করে, তবে আমার ক্ষেত্রে, আমি লক্ষ্য করেছি যে আমার কাছে .NET.Compilers এবং .CodeDom.Povider এর সাথে বিভিন্ন সংস্করণ যুক্ত অতিরিক্ত রেফারেন্স রয়েছে:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

যখন আমার প্যাকেজগুলি কনফিগ কেবল নিম্নলিখিতগুলি উল্লেখ করেছে:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

.Csproj ফাইল থেকে 1.0.0 আইটেমগুলি সরানো সমস্যার সমাধান করেছে।


2

আমার যে সমস্যাটি রয়েছে তা নিয়ে এখানে যে কেউ হোঁচট খায় তার জন্য (কিছু কিন্তু সমস্ত বিল্ড সার্ভারে সমস্ত প্যাকেজ পুনরুদ্ধার করা হয়নি), আমার জন্য ধাঁধাটির চূড়ান্ত টুকরা আমার সমাধানের মূলটিতে একটি নুগেট.কনফিগ যুক্ত করছিল, এস.এলএন-তে ভাইবাল করে ib ডেভিড এবো হিসাবে এখানে ফাইলটি ব্যাখ্যা করেছেন: http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

ইবোর ব্লগ পোস্ট থেকে, আমার জন্য ফাইলের সামগ্রীগুলি সহজভাবে simply

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

হালনাগাদ:

নুগেট এপিআই URL টি ভি 3 এর জন্য পরিবর্তিত হয়েছে (সেপ্টেম্বর 2016 হিসাবে বর্তমান)। Https://www.nuget.org/ থেকে

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />

1

ত্রুটি বার্তা সম্পূর্ণ সঠিক। আমি সমস্ত কৌশল চেষ্টা করেছিলাম এবং কেউই কাজ করে না। প্রকল্পটি (সাধারণ এমভিসি ওয়েব অ্যাপ পরীক্ষা) উইন্ডোজ 8.1 ভিএস 2015 সম্প্রদায় থেকে উইন্ডোজ 10-এ আমার নতুন পরীক্ষার বাক্সে স্থানান্তরিত করেছে ভিএস 2015 এর সর্বশেষ আপডেটগুলি প্রয়োগ হয়েছে। আমি এমনকি সংকলক প্যাকেজের কোনও নতুন সংস্করণ ইনস্টল করতে পারিনি।

Loop:
<LOOP>This seems to be a Ground Hog Day phenomena.</LOOP>
GoTo Loop

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

দ্রষ্টব্য: মূল প্রকল্পটি ভিএস 2015 সালে তৈরি হয়েছিল এবং এর কোনও উত্তরাধিকার নুগেট পদ্ধতি নেই।


1

আমার ক্ষেত্রে কাজ করে এমন সমাধান - ভিজ্যুয়াল স্টুডিও 2015 এন্টারপ্রাইস, প্রকল্প। নেট 4.6.1

  1. আপডেট 3 এ আপগ্রেড করুন
  2. ওয়েব বিকাশকারী সরঞ্জাম ইনস্টল করুন

ভিজ্যুয়াল স্টুডিও ইনস্টলেশন উইজার্ড


1

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


1

গিট থেকে মোতায়েনের পরে আজুরের ব্যর্থ বিল্ড হিসাবে আমার এই সমস্যাটি ছিল।

আমার .gitignore buildফোল্ডারটি বাদ দিচ্ছিল ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props

buildফোল্ডারটি একবার গিটের প্রতি বাধ্য (ফোর্স) হয়ে গেলে সমস্যাটি সমাধান হয়ে যায়।


1

আমি নিম্নলিখিত পদক্ষেপগুলি দিয়ে একই সমস্যাটি সমাধান করেছি

  1. <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />Package.config ফাইল থেকে প্যাকেজ সরানো হয়েছে ।
  2. .Csproj প্রকল্প ফাইলটি সম্পাদনা করুন এবং নীচের সেটিংসটি সরান। <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">     <PropertyGroup>       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />   </Target>

    1. প্যাকেজ ম্যানেজার কনসোলে যান এবং কমান্ডটি চালান Update-Package –reinstall

পয়েন্ট # 2 এবং 3 অন্যান্য ব্যবহারকারীরা দিয়েছিলেন এবং আমি সেই ব্যবহারকারীদের প্রশংসা করি। পয়েন্ট # 1, Microsoft.CodeDom.Providers.DotNetCompilerPlatformপ্যাকেজ.config ফাইল থেকে অপসারণ করা আরও গুরুত্বপূর্ণ। এছাড়াও, # 3 পয়েন্টে উল্লিখিত কমান্ডটি চালানোর পরে, সমস্যার সমাধান হয়েছে। সমস্ত অযাচিত প্যাকেজ সরানো হয়েছে এবং প্রয়োজনীয় প্যাকেজ রেফারেন্স আপডেট হয়েছে।

আশা করি এটি কাউকে সাহায্য করবে।


0

আমি এর কোনও সমাধান খুঁজে পাইনি তাই নীচের বিষয়বস্তু সহ প্রুবিল্ড.পিএস 1 নামক সমাধানের মূল ডিরেক্টরিতে আমি nuget.exe এর একটি অনুলিপি এবং একটি পাওয়ারশেল স্ক্রিপ্ট যুক্ত করেছি।

$nugetexe = 'nuget.exe'
$args = 'restore SOLUTION_NAME_HERE.sln'
Start-Process $nugetexe -ArgumentList $args

প্রাক বিল্ড স্ক্রিপ্টের পথে আমার বিল্ডে আমি এই পাওয়ারশেল স্ক্রিপ্টটিকে কল করেছি এখানে চিত্র বর্ণনা লিখুন


0

খনি কাজ করেছে যখন আমি সমাধান ফাইল এবং প্রকল্প ফোল্ডারের পাশাপাশি প্যাকেজ ফোল্ডারটি অনুলিপি করেছি। আমি পূর্ববর্তী স্থান থেকে প্যাকেজ ফোল্ডারটি অনুলিপি করিনি।


0

আপনি প্রস্তাবিত ত্রুটি বার্তাটি একটি ইঙ্গিত হিসাবেও ব্যবহার করতে পারেন। এখানে কীভাবে সমাধানের জন্য প্যাকেজগুলি পরিচালনা করুন তা আবিষ্কার করুন এবং নিখোঁজ নুগেট প্যাকেজটি ক্লিক করুন।

এটাই


0

সংকলক বিকল্পটিতে মন্তব্য করুন WebConfig:

<!--<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->

প্যাকেজ কনফিগার ফাইলে প্যাকেজের সর্বশেষ সংস্করণ আপডেট করুন

  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.4" targetFramework="net452" />

সব ঠিকঠাক থাকলে পুনর্নির্মাণ করুন, এগিয়ে যাওয়ার দরকার নেই, অন্যথায় প্রকল্পটি ডান ক্লিক করুন, 'প্রকল্পটি আনলোড' ক্লিক করুন এবং পুনরায় প্রকল্পটি ডান ক্লিক করুন এবং .csproj ফাইল সম্পাদনা করুন

কোডেডমের পাথটি যাচাই করুন, এটি আগের পাথগুলিতে নেট 45 ছিল না, ম্যানুয়ালি যোগ করুন, সংরক্ষণ করুন, লোড করুন, পুনর্নির্মাণ করুন। এটি কাজ করা উচিত.

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

0

<Target>ট্যাগ মুছে ফেলার পরামর্শ হিসাবে অনেকে এটিকে সংকলন-সক্ষম করে তুলতে পারে। তবুও, আপনি যখন পরীক্ষা প্রকল্পের জন্য এটি করেন তখন এর একটি পার্শ্ব প্রতিক্রিয়া রয়েছে সে বিষয়ে সতর্ক থাকুন।

MSTest.TestAdapterসংকলনের সময় আমি নুগেট প্যাকেজ সম্পর্কিত ত্রুটি পেয়েছি । <Target>ট্যাগটি সরিয়ে সমস্যার সমাধান করুন । যদিও এটি বিল্ডকে সফল করেছে, পরীক্ষার পদ্ধতিগুলি আবিষ্কারযোগ্য নয়। টেস্ট এক্সপ্লোরার সেই প্রকল্পের পরীক্ষার পদ্ধতিগুলি তালিকাভুক্ত করবে না এবং রান টেস্ট বা ডিবাগ টেস্টটিও কাজ করবে না।

আমি এই মুখোমুখি হওয়া ব্যবহার Visual Studio 2017এবং .Net framework 4.7, এটা খুবই অন্যান্য সংস্করণে ঘটতে পারে


1
VS2017, .Net4.7 এবং ইউনিট পরীক্ষার প্রকল্পটি ব্যবহার করে আমি ঠিক সেই সমস্যাটি করেছি। এই প্রকল্পটি একাধিক সমাধানে যুক্ত করা হয়েছে। স্বয়ংক্রিয় পুনরুদ্ধার কাজ করে তবে ভুল জায়গায়। $(SolutionDir)কাজের সাথে প্রতিস্থাপন করুন তবে ত্রুটিগুলি আপডেট করুন। আমি এখানে জিজ্ঞাসা । আপনার কি কোনও সমাধান পাওয়া গেছে?
সেবাস্তিয়ান শুমান

0

আমার জন্য সমস্যাটি হ'ল নুগেট স্বয়ংক্রিয়ভাবে প্যাকেজগুলি পেতে / আপডেট করতে পারে না কারণ পুরো ফাইলের পথটি খুব বড়। গভীরভাবে নেস্টেড ফোল্ডারের পরিবর্তে আমার ডকুমেন্টের কোনও ফোল্ডারে আমার সমাধানটি সরিয়ে ফিক্সড

তারপরে সমাধানটিতে ডান-ক্লিক করতে পারেন এবং "নিউগেট প্যাকেজগুলি পুনরুদ্ধার করুন" নির্বাচন করতে পারেন (এটি সম্ভবত আপনার প্রয়োজন না হলে এটি প্রয়োজন হয় না) এবং সমস্ত প্যাকেজ পাওয়ার জন্য "সমাধানের জন্য নিউগেট প্যাকেজগুলি পরিচালনা করুন" নির্বাচন করুন সর্বশেষ সংস্করণে আপডেট হয়েছে।

এটি মাইক্রোসফ্টের ওয়েব সাইট থেকে ডাউনলোড করা একটি নমুনা এএসপি এমভিসি অ্যাপ্লিকেশনটির সমাধানের জন্য ছিল।


0

ডিভোপস / বিল্ড ইঞ্জিনিয়ারদের জন্য, আপনি সম্ভবত nuget restoreএটির ক্ষতিগ্রস্থ এসএলএন, বা প্রজেক্টের বিপরীতে সমাধান করতে পারেন যদি আপনার কোনও এসএলএন না থাকে। আমাদের সমস্ত ইউডাব্লুপি প্রকল্পের সিআই / সিডি বিল্ডগুলির জন্য আমাকে এটি করতে হবে।

  1. নিশ্চিত হয়ে নিন যে ভিজুয়াল স্টুডিওতে বা স্বতন্ত্র অবস্থায় বিল্ড স্লেভে নুজেট ইনস্টল করা আছে। যদি এটি পরে থাকে তবে নিশ্চিত হয়ে নিন যে এটি রাস্তায় রয়েছে এবং পদক্ষেপ 2 এড়িয়ে যান।
  2. হয় ভিএস দেব সিএমডি কনসোলটি খুলুন, বা এটি ইতিমধ্যে খোলা
    একটিটির মাধ্যমে লোড করুন, যা আপনি নীচের নির্দেশাবলী সহ করতে পারেন: ভিএস ২০১৫ call "%VS140COMNTOOLS%VsDevCmd.bat"
    বা
    ভিএস ২০১7call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restore MyStuff.SLNঅথবা call nuget restore MyStuff.csprojযদি কোনও এসএলএন নেই।

0

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


0

আমার জন্য আমার gitignore ফাইলটি আমার প্যাকেজ ফোল্ডারটিকে উপেক্ষা করছে। নিম্নলিখিত gitignore লাইনটি সমস্যার কারণ হয়ে দাঁড়িয়েছিল -

**/packages/*

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


0

আমি এই ত্রুটিটি সম্পর্কে একটি স্থিরতা পেয়েছি, আসলে আমার প্যাকেজ ফোল্ডারে এমএসটিস্ট.টেষ্টএডাপ্টার (1.3.2) এর একটি আলাদা সংস্করণ ছিল এবং .csproj ফাইলের রেফারেন্সগুলি এমএসটিস্ট.টেষ্টএডাপ্টার (1.1.0) এর দিকে নির্দেশ করছে। আমি সমস্ত MSTest.TestAdapter (1.1.0) কে MSTest.TestAdapter (1.3.2) এ প্রতিস্থাপন করেছি এবং এটি আমার সমস্যা সমাধান করেছে।


0

আমি বুঝতে পেরেছি যে এই প্রশ্নটি পুরানো, তবে আমি আজ এই একই পরিস্থিতিটির মধ্যে দৌড়েছি এবং সাম্প্রতিককালে এই সমস্যাটি খুঁজে পাওয়া যে কারও জন্য আমার 2 সেন্টে নিক্ষেপ করতে চেয়েছিলাম। একটি এএসপি এমভিসি প্রকল্প আমি নিজেই আমার সমাধানের একটি সাবফোল্ডারে চলে এসেছি এবং তারপরে সমাধানটি সরিয়ে পুনরায় সংযুক্ত করে ভিজুয়াল স্টুডিও 2017 ব্যবহার করে ত্রুটিটি উল্লেখ করছি। এমভিসি প্রকল্পের মতো একই সাবফোল্ডারটির মূলটিতে "lib" এবং "প্যাকেজগুলি" ফোল্ডারগুলি সরানো আমার সমস্যাটি স্থির করেছে।


0

আমার একই সমস্যা ছিল, এটি সমাধান করে যে প্রকল্পগুলির আমি উল্লেখ করছিলাম তার মধ্যে একটি সমাধান ডিরেক্টরি থেকে বাইরে ছিল (এবং সেইজন্য একই '/ প্যাকেজগুলি' ফোল্ডারটি ভাগ করে নি)। আমার জন্য যে সমাধানটি কাজ করেছিল তা হ'ল রেফারেন্স প্রকল্পের সমাধানটি খুলতে এবং এটি সেখানে তৈরি করা। একবার এই প্রকল্পটি তৈরি হয়ে গেলে ত্রুটিগুলি চলে যায়।

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