ফাইল বা সমাবেশ 'সিস্টেম.নেট.এইচটিপি. ফর্ম্যাটিং' বা এর অন্যতম নির্ভরতা লোড করা যায়নি। সিস্টেম নির্দিষ্ট পথ খুঁজে পাচ্ছি না


158

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

Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies. 
The system cannot find the path specified.

আমি গুগল করেছি তবে এর সমাধান খুঁজে পাচ্ছি না। আমি .NET 4.5 ব্যবহার করছি।

এটি ডিএলএল ফাইল হতে পারে না কারণ আমি। নেট 4.5 ব্যবহার করছি।


1
এখানে নির্ভরতা দেখুন .. nuget.org/packages/System.Net.Http
বিশাল শর্মা

আমি চেষ্টা করেছিলাম এবং এটি কার্যকর হয়নি ... পরিবর্তে আমি প্যাকেজ ম্যানেজারে 'নুগেটকমিডলেটইহান্টলড এক্সপ্লেশন, নুগেট.পওয়ারশেল.কম্যান্ডস.ইনস্টলপ্যাকেজকম্যান্ড'
নরিস

উত্তর:


185

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

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

এই সমস্ত পদক্ষেপ গ্রহণ করা প্রায় সবসময় সমস্ত প্যাকেজ পুনরুদ্ধার করে এবং আমার এমভিসি প্রোগ্রামের জন্য আমার প্রয়োজন।


সম্পাদনা করুন >>>

ভিজুয়াল স্টুডিও 2013 এবং তারপরের জন্য, পদক্ষেপ 2) পড়তে হবে:

  1. ভিজ্যুয়াল স্টুডিওটি খুলুন এবং সরঞ্জামগুলি > বিকল্পগুলি > নুগেট প্যাকেজ ম্যানেজারে যান এবং ডানদিকে একটি "প্যাকেজ সাফ করুন ক্যাশে বোতাম" আছে " এই বোতামটি ক্লিক করুন এবং "অনুপস্থিত প্যাকেজগুলি ডাউনলোড করার জন্য নুগেটকে মঞ্জুরি দিন" এবং "ভিজ্যুয়াল স্টুডিওতে বিল্ড করার সময় অনুপস্থিত প্যাকেজগুলির জন্য স্বয়ংক্রিয়ভাবে পরীক্ষা করুন" এর জন্য চেক বাক্সগুলি চেক করা আছে কিনা তা নিশ্চিত করুন।

7
এটি কাজ করেছে ... সমস্যাটি সমাধান হয়েছে ... ধন্যবাদ জর্ডান_ওয়াল্টার্স ... আমার কাছে ভোট দেওয়ার মতো যথেষ্ট রেপ নেই ... অন্যথায় আপনার সাহায্যের প্রশংসা হয়েছিল
নরিস

10
ভাল পরামর্শ তবে এটি "ফাইল বা অ্যাসেম্বলি 'সিস্টেম লোড করতে পারিনি' সিস্টেম. নেট.এইচটিপি. ফর্ম্যাটিং 'বা এর যে কোনও একটি নির্ভরতা The সিস্টেম নির্দিষ্ট পথটি খুঁজে পাচ্ছে না" with আমার জন্য আমাকে সরঞ্জাম / নুগেট প্যাকেজ ম্যানেজার / প্যাকেজ ম্যানেজার কনসোল এবং তারপরে "আপডেট-প্যাকেজ-প্রজেক্টনাম মাইপ্রজেক্ট -রেইনস্টল" যেতে হয়েছিল। সব ঠিক!
জিওম্যাক

3
@ ইউরাজালেটস্কি আমি মনে করি এটি $ {সলিউশনডির} / প্যাকেজ / এ। অর্থাৎ মূল সমাধান ফোল্ডার।
জেকেজগর্ডন

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

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

168
  • সমস্ত কোড রেফারেন্স মুছে ফেলুন System.Net.*

  • প্যাকেজ উইন্ডোতে,

    Install-Package Microsoft.AspNet.WebApi.Client

  • আপনার প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণ করুন


2
আমি কেবল এই সমস্যায় পড়েছি এবং আমি মাইক্রোসফ্ট.এস্পনেট.ওয়েবপিপি.স্লায়েন্টের সর্বশেষতম নুগেট প্যাকেজ সংস্করণটি ইনস্টল করেছি এবং তারপরে আমি আমার রেফারেন্স তালিকায় System.Net.Http. ফর্ম্যাটিংটি দেখেছি।
ewomack

আমি অন্য সব চেষ্টা করেছিলাম। এটিই আমার পক্ষে কাজ করেছে।
টিমোথি কানস্কি

আমার জন্য কাজ করেছেন। আপনি সঠিক সংস্করণটি ইনস্টল করেছেন তা নিশ্চিত করুন।
ক্রুশার জো

1
এই সমাধান পর আমি আমার আপডেট কাজ Web.Config bindingRedirectজন্য System.Net.Http.Formattingএবং System.Web.Httpউপরোক্ত কমান্ডের দ্বারা ইনস্টল নতুন এক ... অর্থাৎ তা থেকে গিয়েছিলাম <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>থেকে<bindingRedirect oldVersion="0.0.0.0-4.0.30319" newVersion="4.0.30319"/>
Serj Sagan

তাহলে কি আমাদের অনেকেরই মাইক্রোসফ্ট.এএসপনেট.ওয়েবপিপি.ক্লায়েন্ট নিউগেট প্যাকেজটি হারিয়ে গেল?
carlin.scott

27

আমি একটি অতিরিক্ত খুঁজে পেয়েছি

  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.2.28.0" newVersion="2.2.28.0" />
  </dependentAssembly>

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


সংস্করণটির সর্বজনীন টোকেন কী তা আপনি কীভাবে জানবেন? b03f5f7f11d50a3a
ইরান otzap

এটি প্যাকেজ ম্যানেজার কনসোল কমান্ড দ্বারা স্বয়ংক্রিয়ভাবে যুক্ত হয়েছে: অ্যাড-বাইন্ডিংরডাইরেক্ট *
সাইমন হিউজেস

18

ব্যবহারকারী 39191988 আমাকে সঠিক দিকে নির্দেশ করেছেন, তবে আমার Update-Package -reinstall Microsoft.AspNet.WebApi.Clientপ্যাকেজ-ম্যানেজার কনসোলে চালানো দরকার । বেসিক ইনস্টলটি নিজেই সমস্যাটি চিনে না তবে প্যাকেজটি ইতিমধ্যে ইনস্টলড রয়েছে এবং এটি ওভাররাইট করে না তা স্বীকার করে।

আমি এই উত্তরটি পোস্ট করছি কারণ এটি এমন ঘটনা খুব কম ঘটে যে আমি শেষবার যা করেছি তা মনে করার আগে আমি গুগলিং এবং এই পৃষ্ঠায় পৌঁছে যাচ্ছি।


16

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

  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>

সংস্করণটির সর্বজনীন টোকেন কী তা আপনি কীভাবে জানবেন?
ইরান otzap

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

মজার হওয়ার জন্য আমি এই লাইনগুলি যুক্ত করেছি এবং এটি সাহায্য করেছে।
Krzysztof Madej

এটি আমার জন্যও সমস্যাটি স্থির করে দিয়েছে।
বিশাল

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

9

NET ফ্রেমওয়ার্ক প্রকল্পগুলির সাথে সম্মিলিতভাবে NET স্ট্যান্ডার্ড প্রকল্পটি ব্যবহার করে :

.NET স্ট্যান্ডার্ড পদ্ধতিতে, .NET স্ট্যান্ডার্ড প্রকল্পে অন্তর্ভুক্ত প্যাকেজগুলি সঠিকভাবে অন্য .NET কোর এবং .NET স্ট্যান্ডার্ড প্রকল্পগুলিতে ব্যবহার করা হবে।

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

সুতরাং আমার প্রশ্নের উত্তর ছিল যে আমাকে Microsoft.AspNet.WebApi.Clientএকটি ওয়েব প্রকল্প (। নেট ফ্রেমওয়ার্ক) ডাউনলোড করতে এবং ইনস্টল করতে হয়েছিল যা একটি নেট স্ট্যান্ডার্ড প্রকল্প ব্যবহার করছেMicrosoft.AspNet.WebApi.Client প্রয়োজন প্রয়োজন হয়। আসলে, আমি ইতিমধ্যে এটি ইনস্টল করেছি তবে একটি সংস্করণ পার্থক্য ছিল।

আমি অন্যদের দেখার জন্য কেবল এই উত্তরটি যুক্ত করছি, এটি ওপির প্রশ্নের সরাসরি উত্তর নাও দিতে পারে তবে শীর্ষ ভোট প্রাপ্ত উত্তরগুলি না করে প্রথমে এটি পরীক্ষা করে আমার সময় সাশ্রয় করেছিল।


1
আমি .NET কোর ব্যবহার করছি এবং gingter.org/2018/07/26/… এ এইচটিপিপিপ্লায়েন্টকে উপহাস করার জন্য একটি গাইড পেয়েছি । সেই গাইড অনুসরণ করে আমাকে ওপি-র প্রশ্নে বর্ণিত সমস্যা দিয়েছে। এবং আপনি সমস্যার সমাধান করেছেন :)
থার্কিল ভের্গ

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

দুর্দান্ত উত্তর - আমি ভাবতে শুরু করেছিলাম আমার সবকিছু ফ্রেমওয়ার্কে ফিরে যেতে হবে!
d219

6
  1. সমস্ত কোড রেফারেন্স মুছে ফেলুন System.Net.*
  2. আনইনস্টল করুন: প্যাকেজ Microsoft.AspNet.WebApi এবং এর নির্ভরতা।
  3. সমস্ত পুনরায় ইনস্টল করুন: প্যাকেজ Microsoft.AspNet.WebApi এবং তার নির্ভরতা।
  4. আপনার প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণ করুন

ধন্যবাদ! হতাশ চেষ্টা করার 2 দিন পরে আপনি আমাকে বাঁচিয়েছেন। এটি আমাকে প্রায় পাগল করেছে।
মারেক দর্দা

5

যেভাবে মূলত দ্বারা একটি মন্তব্যে প্রস্তাব GeoMac এবং এর নথিভুক্ত NuGet এর ডক্স নিম্নলিখিত আমার জন্য কাজ অন্যান্য উত্তর কেউ কাজ করেন:

সরঞ্জাম / নিউগেট প্যাকেজ ম্যানেজার / প্যাকেজ ম্যানেজার কনসোল

Update-Package -ProjectName MyProjectName -reinstall

আমার কাছে ভিজ্যুয়াল স্টুডিও 2015 রয়েছে I এটি আমার তাত্ক্ষণিকভাবে ঠিক করতে হয়েছিল।
দামিয়ান সি

3

আমার ক্ষেত্রে উপরের সমাধানগুলির কোনওটিই কার্যকর হয়নি। আমি রেফারেন্সটিতে ডান ক্লিক করে সমাধান করেছি

System.Net.Http.Formatting

ভিসুয়াল স্টুডিও ও সম্পত্তির সেট করা থেকে কপি স্থানীয় করার সত্য

আমি আশা করি এটি কোনওভাবে কার্যকর হবে।


2
আমি এটি করেছি এবং এটি এখনও ঘটে
ইরান otzap

2

আমার জন্য এই বিরক্তিকর ত্রুটিটি যা সমাধান করেছিল তা হ'ল ভিজ্যুয়াল স্টুডিও বন্ধ করে আবার খুলতে to তারপরে সমাধানটি পুনর্নির্মাণ করুন এবং এটি সব আবার কাজ করেছে। বোকা জবাবের জন্য দুঃখিত, তবে আমি মনে করি এটি একটি উত্তর মূল্যবান কারণ এটি আমার জন্য এটি সমাধান করেছে।


1
এটি আমার জন্যও
এতটুকু

1

আমার জন্য এটি হিসাবে সহজ ছিল

  1. Microsoft.AspNet.WebApi.Clientউইন্ডোজ এক্সপ্লোরার এর প্যাকেজ ফোল্ডার থেকে মুছুন
  2. সরঞ্জামগুলি খুলুন> নিউগেট প্যাকেজ ম্যানেজার> প্যাকেজ ম্যানেজার কনসোল
  3. "পুনরুদ্ধার করুন" বোতামটি ক্লিক করুন


1

আমি একই সমস্যার মুখোমুখি ছিলাম কারণ

System.Net.Http.Formatting

ওয়েবকনফিগের ভিতরে লিখিত সংস্করণটি 5.0.3 ছিল তবে বিন ফোল্ডারের ভিতরে লাইব্রেরি সিস্টেম.নেট.হট্ট

সুতরাং আমি ঠিক ঠিক একই বাক্সের সাথে প্রতিস্থাপন করেছি

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

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

শুধু এই পরিষ্কার প্রকল্প এবং বিল্ড করুন


0

সম্ভবত আপনাকে বৈশিষ্ট্য সংলাপে লাইব্রেরি রেফারেন্সটি "স্থানীয় কপিরাইট = সত্য" হিসাবে সেট করতে হবে। ভিজ্যুয়াল স্টুডিওতে "রেফারেন্স" এ ক্লিক করুন তারপরে নিখোঁজ রেফারেন্সের উপর ডান ক্লিক করুন, প্রসঙ্গ মেনু ক্লিক বৈশিষ্ট্য থেকে, আপনার স্থানীয় কপিটি অনুলিপিটি দেখতে হবে।


0

আমার জন্য WebApi.config এর নীচে কয়েকটি লাইন যুক্ত করা কাজ করে যা নতুন নিউগেট প্যাকেজ আপডেট করার পরে কাজ করে না did

var setting = config.Formatters.JsonFormatter.SerializerSettings;
setting.ContractResolver = new CamelCasePropertyNamesContractResolver();
setting.Formatting = Formatting.Indented;

নেমস্পেস যুক্ত করতে ভুলবেন না:

using Newtonsoft.Json.Serialization; 
using Newtonsoft.Json;

দয়া করে সলিউশন ফাইলটিতে ডান ক্লিক করে প্রকল্পের নির্ভরতা যাচাই করে নিন এবং তারপরে সাধারণ সম্পত্তি-> প্রকল্প নির্ভরতার অধীনে প্রকল্পটি ত্রুটিটি কোথায় ফেলেছে তা পরীক্ষা করুন বা কোন নামটির উপর নির্ভরশীল প্রকল্পটির নাম যাচাই করুন
অ্যাশিশ ভিকি

0

এই সমস্যাটি সমাধান করতে আমি যা করেছি তা হ'ল

  1. নুগেট প্যাকেজ ম্যানেজারে যান।

  2. আপডেটগুলি নির্বাচন করুন (বাম প্যানেল থেকে)

  3. ওয়েবএপিআই উপাদান আপডেট করুন

  4. এর পরে, প্রকল্পটি ত্রুটি ছাড়াই চলছিল।


0

ভিএস2019: সরঞ্জামগুলি -> প্যাকেজ পুনরুদ্ধার বিভাগে -> প্যাকেজ ম্যানেজার সেটিং -> প্যাকেজ ম্যানেজার সেটিং -> 2 বিকল্প চেক করুন। এর পরে, প্রোজেক্ট প্যাকেজ ফোল্ডারে যান এবং ভিতরে সমস্ত শিশু ফোল্ডারগুলি মুছুন (আর কোনও ত্রুটির জন্য নয়) তারপরে পুনরায় বিল্ড সলিউশন করুন, নুগেট সমস্ত প্যাকেজ পুনরায় ডাউনলোড করবে এবং প্রকল্পটি কোনও রেফারেন্স ছাড়াই চালানো উচিত।


0

আমার ভিএস 2019 এএসপি.এনইটি প্রকল্পে সমস্যা ছিল had

আর একটি লক্ষণ হ'ল, প্রকল্প রেফারেন্স তালিকায় কিছু রেফারেন্স (System.Web.Http) ত্রুটিযুক্ত হিসাবে চিহ্নিত করা হয়েছিল (সমাধান এক্সপ্লোরার)

আমার সমাধান:

  1. প্রকল্পে ত্রুটিযুক্ত উল্লেখগুলি মুছুন -> তথ্যসূত্র (ডান ক্লিক করুন, ...)
  2. বিল্ড
  3. বিল্ড ত্রুটিগুলিতে নেভিগেট করুন "প্রকার বা নাম-স্থানের নাম [...] পাওয়া যায়নি" বা অনুরূপ
  4. "সম্ভাব্য সংশোধনগুলি দেখান" -> প্যাকেজ ইনস্টল করুন

কারণ:

সিএসপোজ ফাইলের পার্থক্যটি দেখে সমস্যার কারণটি দেখতে পেলাম কেউ উইন্ডোজ প্রোগ্রাম ফাইল ফোল্ডারে একটি ডিএলএল রেফারেন্স করতে পরিচালিত!

<Reference Include="System.Web.Http">
  <HintPath>..\..\..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.WebApi.Core.4.0.30506.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.