मुझे System.Web.Http v5.0.0.0 में अपग्रेड करने के लिए NuGet पैकेज कहां मिल सकता है?


125

Unity.WebApi संस्करण 5.0.0.0 का उपयोग करने के लिए बस एक ASP.NET MVC4 प्रोजेक्ट को अपग्रेड किया गया है और इसके लिए निम्न त्रुटि के अनुसार System.Web.Http v 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 को संदर्भित कर रहा हूं, लेकिन निम्नलिखित NuGet संकुल को उनके संबंधित नवीनतम संस्करणों में अपग्रेड किया गया है:

  • ANTLRv3

  • Microsoft ASP.NET यूनिवर्सल प्रदाता

  • Microsoft.Web.Infrastructure

  • Microsoft ASP.NET MVC

  • Microsoft ASP.NET रेजर

  • Microsoft ASP.NET यूनिवर्सल प्रदाता कोर लाइब्रेरी

  • Microsoft ASP.NET यूनिवर्सल प्रदाता

  • Microsoft ASP.NET वेब API 2 क्लाइंट

  • Microsoft ASP.NET वेब API 2 कोर

  • Microsoft ASP.NET वेब API 2 वेब होस्ट

  • Microsoft ASP.NET वेब API 2

  • Microsoft ASP.NET वेब पेज

  • Microsoft.Web.Infrastructure

  • WebGrease

    नुगेट के माध्यम से। मैंने प्रासंगिक जावास्क्रिप्ट लाइब्रेरियों को सूचीबद्ध नहीं किया है, जैसे कि माइक्रोसोफ्ट.जैविक। विनीलसिव वैलिडेशन, आदि।

System.Web.Http को अपग्रेड करने के लिए NuGet पैकेज क्या है या क्या मुझे इसे मैन्युअल रूप से करना है?


यदि आप NuGet पैकेज मैनेजर में "Stable" के बजाय "Prerelease शामिल करें" का चयन करते हैं, तो आपको System.Web.HHp दिखाई देगा। कि तुम क्या देख रहे हो?
विलियम

क्या मैं "Prerelease शामिल करने" का चयन करने के बाद System.Web.Http के लिए खोज करने वाला हूं? या मैं कहाँ दिखना चाहिए?
क्लॉस नजी 25'13

मेरी उपरोक्त टिप्पणी की अवहेलना करें! वह पैकेज पुराना है। आपको नीचे दिए गए Stjin के सुझाव का पालन करने की कोशिश करनी चाहिए। अजीब तरह से, जब मैं अपने MVC 4 प्रोजेक्ट में Unity.WebApi स्थापित करता हूं , तो यह System.Web.Http संदर्भ को v5.0 में स्वचालित रूप से अपडेट कर देता है, इसलिए मुझे यकीन नहीं है कि यह आपके लिए काम क्यों नहीं कर रहा है। यदि अन्य सभी विफल रहता है, तो आप एकता पैकेज की स्थापना रद्द करने और इसे पुनः स्थापित करने का प्रयास कर सकते हैं।
विलियम

जवाबों:


206

आपको Microsoft.AspNet.WebApi.Core पैकेज की आवश्यकता है ।

आप इसे .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>

मेरे पास Microsoft ASP.NET Web API 2 Core (id = Microsoft.AspNet.WebApi.Core) है जो ऊपर सूचीबद्ध v5.0.0.0 में अपग्रेड किया गया है। लगता है कि मुझे उन्हें हटाने और फिर से जोड़ने की आवश्यकता है?
क्लॉस नजी

7
को भी साफ़ करना था, bin_deployableAssemblies को हटाना और पुनर्निर्माण करना।
क्लॉस नजी

लगभग एक ही परियोजना होने। Bin_deployable Assemblies फ़ोल्डर कहाँ है जिसके बारे में हर कोई बात करता रहता है?
nzondlo

@nzondlo मेरा मानना ​​है कि एप्लिकेशन प्रकाशित करते समय फ़ोल्डर उत्पन्न होता है। हालांकि पूरी तरह से निश्चित नहीं है।
user247702

1
@nzondlo bin_deployableAssembliesसिर्फ एक नियमित फ़ोल्डर है, लेकिन यह आपके प्रोजेक्ट की डायरेक्टरी में मौजूद होने पर इसका विशेष उपचार करता है। जब आप अपना वेब एप्लिकेशन प्रकाशित करते हैं, तो उस फ़ोल्डर में कोई भी .dll फ़ाइल बिन निर्देशिका में कॉपी की जाती है। NuGet मुख्यधारा बनने से पहले अपने वेब ऐप के साथ System.Web.Mvc dll (और अन्य) को तैनात करने के लिए इसका उपयोग किया गया था।
स्टीवन लाइकेन्स

9

मेरे पास एक समाधान में कई परियोजनाएं हैं। कुछ परियोजनाओं के लिए, मैंने पहले संदर्भों को मैन्युअल रूप से जोड़ा। जब मैंने WebAPI पैकेज को अपडेट करने के लिए NuGet का उपयोग किया, तो वे संदर्भ स्वचालित रूप से अपडेट नहीं किए गए थे।

मुझे पता चला कि मैं या तो मैन्युअल रूप से उन संदर्भों को अपडेट कर सकता हूं ताकि वे मेरे समाधान के संकुल फ़ोल्डर के अंदर v5 DLL को इंगित करें या निम्न करें।

  1. "प्रबंधित NuGet पैकेज" पर जाएं
  2. स्थापित पैकेज का चयन करें "Microsoft ASP.NET वेब एपीआई 2.1"
  3. प्रबंधित करें पर क्लिक करें और उन परियोजनाओं की जांच करें जिन्हें मैंने मैन्युअल रूप से पहले जोड़ा था।

पैकेज को अनइंस्टॉल करना और फिर तुरंत पुनः इंस्टॉल करना इसे मेरे लिए ठीक कर देता है। एक अलग विकास मशीन पर परियोजना को लाने के दौरान हुआ। स्वचालित पैकेज पुनर्स्थापना को किसी तरह गलत संस्करण मिला।
मैट जे।

1
मुख्य समस्या मुख्य प्रोजेक्ट के लिए Web.Api को अद्यतन कर रही है, लेकिन संदर्भित प्रोजेक्ट अभी भी इसके पुराने संस्करण का उपयोग कर रहे हैं। यह समाधान नाम पर राइट क्लिक करके और Nuget Package मेनू को @Tony के रूप में प्रबंधित करके एक साथ अपडेट किया जाना चाहिए। चियर्स!
ओरहान

स्थापित करें-पैकेज Microsoft.AspNet.WebApi.Core
C शार्पर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.