System.Web.Http v5.0.0.0 এ আপগ্রেড করার জন্য আমি নিউগেট প্যাকেজটি কোথায় পাব?


125

ইউনিটি.ওয়েবপি সংস্করণ 5.0.0.0 ব্যবহার করার জন্য সবেমাত্র একটি এএসপি.নেট এমভিসি 4 প্রকল্প আপগ্রেড করা হয়েছে এবং এর জন্য নিম্নলিখিত ত্রুটি অনুসারে সিস্টেম.ওয়েব.এইচটিপি বনাম 5.0.0.0 প্রয়োজন:

Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'   

আমি বর্তমানে System.Web.Http v4.0 রেফারেন্স করছি তবে নিম্নলিখিত নুগেট প্যাকেজগুলি তাদের নিজ নিজ সর্বশেষ সংস্করণে আপগ্রেড করেছে:

  • ANTLRv3

  • মাইক্রোসফ্ট এএসপি.এনইটি ইউনিভার্সাল সরবরাহকারী

  • Microsoft.Web.Infrastructure

  • মাইক্রোসফ্ট এএসপি.নেট এমভিসি

  • মাইক্রোসফ্ট এএসপি.এনইটি রেজার

  • মাইক্রোসফ্ট এএসপি.এনইটি ইউনিভার্সাল প্রোভাইডার কোর লাইব্রেরি

  • মাইক্রোসফ্ট এএসপি.এনইটি ইউনিভার্সাল সরবরাহকারী

  • মাইক্রোসফ্ট এএসপি.নেট ওয়েব এপিআই 2 ক্লায়েন্ট

  • মাইক্রোসফ্ট এএসপি.নেট ওয়েব এপিআই 2 কোর

  • মাইক্রোসফ্ট এএসপি.নেট ওয়েব এপিআই 2 ওয়েব হোস্ট

  • মাইক্রোসফ্ট এএসপি.নেট ওয়েব এপিআই 2

  • মাইক্রোসফ্ট এএসপি.নেট ওয়েব পৃষ্ঠা

  • Microsoft.Web.Infrastructure

  • WebGrease

    নিউগেটের মাধ্যমে। আমি প্রাসঙ্গিক জাভাস্ক্রিপ্ট লাইব্রেরি যেমন মাইক্রোসফট.জিকিউরি.অনব্রোত্রসিভ বৈধকরণ ইত্যাদি তালিকাভুক্ত করি নি

সিস্টেম.ডাব্লু.এইচটিপি আপগ্রেড করার জন্য নুগেট প্যাকেজটি কী বা আমাকে নিজেই এটি করতে হবে?


আপনি যদি নিউগেট প্যাকেজ ম্যানেজারে "স্থিতিশীল" পরিবর্তে "অন্তর্ভুক্ত প্রিরিলেস" নির্বাচন করেন তবে আপনি System.Web.Http দেখতে পাবেন। আপনি কি এটি খুঁজছেন?
উইলিয়াম

আমার কি "অন্তর্ভুক্ত প্রিরিলেস" বাছাই করার পরে সিস্টেম.ওয়েব.এইচটিপি অনুসন্ধান করার কথা? অথবা আমি কোথায় খুঁজছি?
ক্লাউস এনজি

আমার উপরের মন্তব্য উপেক্ষা করুন! সেই প্যাকেজটি পুরানো। আপনার নীচে স্টজিনের পরামর্শ অনুসরণ করার চেষ্টা করা উচিত। আশ্চর্যজনকভাবে যথেষ্ট, যখন আমি আমার এমভিসি 4 প্রকল্পে ইউনিটি. ওয়েবেএপি ইনস্টল করি, তখন এটি স্বয়ংক্রিয়ভাবে v5.0-এ সিস্টেম.ওয়েব.এইচটিপি রেফারেন্স আপডেট করে, সুতরাং আমি নিশ্চিত নই কেন এটি আপনার পক্ষে কাজ করছে না। অন্য সব কিছু যদি ব্যর্থ হয় তবে আপনি ইউনিটি প্যাকেজটি আনইনস্টল করে আবার ইনস্টল করার চেষ্টা করতে পারেন।
উইলিয়াম

উত্তর:


206

আপনার দরকার মাইক্রোসফ্ট.এস্পনেট.ওয়েবপিপি.কোর প্যাকেজ।

আপনি এটি .csproj ফাইলটিতে দেখতে পারেন:

<Reference Include="System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>

আমার উপরে মাইক্রোসফ্ট এএসপি.নেট ওয়েব এপিআই 2 কোর (আইডি = মাইক্রোসফট.এসপি নেট.ওয়েবপিপি.কোর) উপরে তালিকাভুক্ত হিসাবে v5.0.0.0 এ আপগ্রেড হয়েছে। দেখে মনে হচ্ছে এগুলি মুছে ফেলা এবং পুনরায় যুক্ত করা দরকার?
ক্লাউস এনজি

7
বিন_ডেপ্লয়েবল অ্যাসেমব্লীগুলি মুছে ফেলা এবং পুনর্নির্মাণও করতে হয়েছিল।
ক্লাউস এনজি

প্রায় একই প্রকল্প একই। সবাই যে বিষয়ে কথা বলে চলে যায় সেই দ্বি_পোলোয়যোগ্য অ্যাসেমব্লিজ ফোল্ডারটি কোথায়?
nzondlo

@ এনজন্ডলো আমি বিশ্বাস করি যে কোনও অ্যাপ্লিকেশন প্রকাশের সময় ফোল্ডারটি তৈরি হয়েছিল। যদিও পুরোপুরি নিশ্চিত নয়।
ব্যবহারকারী 247702

1
@ এনজন্ড্লো bin_deployableAssembliesকেবলমাত্র একটি নিয়মিত ফোল্ডার তবে এটি আপনার প্রকল্পের ডিরেক্টরিতে উপস্থিত থাকলে এটি বিশেষ চিকিত্সা পায়। আপনি যখন নিজের ওয়েব অ্যাপ্লিকেশন প্রকাশ করেন তখন সেই ফোল্ডারে থাকা কোনও .dll ফাইল বিন ডিরেক্টরিতে অনুলিপি করা হয়। এটি নিউজেট মূলধারার হয়ে ওঠার আগে আপনার ওয়েব অ্যাপ্লিকেশন সহ সিস্টেম. ওয়েবে.এমভিসি dll (এবং অন্যদের) মোতায়েন করতে ব্যবহৃত হয়েছিল।
স্টিভেন লাইকেন্স

9

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

আমি জানতে পেরেছি যে আমি নিজেই সেগুলি উল্লেখ করতে পারি যাতে তারা আমার সমাধানের প্যাকেজ ফোল্ডারের ভিতরে ভি 5 ডিএলএল নির্দেশ করে বা নিম্নলিখিতটি করে do

  1. "নিউগেট প্যাকেজগুলি পরিচালনা করুন" এ যান
  2. ইনস্টল করা প্যাকেজটি "মাইক্রোসফ্ট এএসপি। নেট ওয়েব এপিআই 2.1" নির্বাচন করুন
  3. পরিচালনা করার জন্য ক্লিক করুন এবং আমি আগে ম্যানুয়ালি যুক্ত করেছি এমন প্রকল্পগুলি পরীক্ষা করুন।

প্যাকেজটি আনইনস্টল করা এবং তারপরে এটি পুনরায় ইনস্টল করা ইমিডিয়েটলি আমার জন্য এটি ঠিক করে। প্রকল্পটি যখন অন্য একটি উন্নয়ন মেশিনে নিয়ে আসে তখন ঘটেছিল। স্বয়ংক্রিয় প্যাকেজ পুনরুদ্ধারটি কোনওভাবেই ভুল সংস্করণ পেয়েছে।
ম্যাট জে

1
মূল সমস্যাটি মূল প্রকল্পের জন্য ওয়েব.এপিআই আপডেট করা হচ্ছে তবে রেফারেন্সযুক্ত প্রকল্পগুলি এখনও এটির পুরানো সংস্করণ ব্যবহার করছে। @ টনি উল্লিখিত হিসাবে সমাধান নামটি ডান ক্লিক করে এবং নিউট প্যাকেজগুলি মেনু পরিচালনা করে একত্রে আপডেট হওয়া উচিত। চিয়ার্স!
ওড়হান

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