2012-08-25 17 views
28

इस समस्या वास्तव में इस पोस्ट http://forums.asp.net/t/1807797.aspx/1?System+Net+Http+is+not+found रूप में ही है और यह एक on StackOverflowकोड विश्लेषण त्रुटि फ़ाइल या विधानसभा लोड नहीं कर सका System.Net.Http, संस्करण = MVC4 वेब एपीआई में 2.0.0.0

मैं सब को है नवीनतम आरटीएम बिट्स, नेट 4.5 में एक नया एमवीसी 4 शुरू किया, वेबएपीआई न्यूज पैकेज जोड़ा और अब मेरा कोड विश्लेषण उपरोक्त लिंक में रिपोर्ट की गई त्रुटि के साथ विफल रहता है।

CA0058 रनिंग कोड विश्लेषण CA0058 त्रुटि: संदर्भित विधानसभा 'System.Net.Http, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a' नहीं पाया जा सका। इस असेंबली को विश्लेषण के लिए आवश्यक है और इसके संदर्भ में संदर्भित किया गया था: सी: \ प्रोजेक्ट्स \ इनहाउस \ टाइमरैकॉर्डर \ स्टॉपगैप \ टाइमरैक \ bin \ TimeRec.dll, सी: \ प्रोजेक्ट्स \ InHouse \ TimeRecorder \ StopGap \ packages \ Microsoft.AspNet.WebApi.Core .4.0.20710.0 \ lib \ net40 \ System.Web.Http.dll। [त्रुटि और चेतावनी] - (ग्लोबल)

मैं यह है कि क्या पा सकते हैं से आर सी संस्करणों के साथ होने के लिए लग रहा था क्योंकि वहाँ .NET 4.5 ढांचे System.Net.Http और की WebAPI के संस्करण के बीच एक संघर्ष था System.Net.Http।

StackOverflow response पर अन्य उत्तरों स्पष्ट कारणों से .NET 4.5 से 4.0 तक डाउनग्रेड करने के बारे में बात करते हैं, यह मेरा पसंदीदा समाधान नहीं है!

+0

मुझे भी इस समस्या का सामना करना पड़ रहा है, क्या आपको कोई समाधान मिला है? –

+0

मैं वीएस 2012 आरटीएम बिट्स के साथ इस मुद्दे को दोबारा नहीं कर सकता। मेरे लिए एक बात अजीब बात यह है कि एमवीसी 4 में प्रत्येक एमवीसी 4 टेम्पलेट्स में पहले से ही वेब एपीआई पैकेज स्थापित है। आपको पैकेज को फिर से इंस्टॉल क्यों करना है? –

+0

विजुअल स्टूडियो 2012 में शुरू करना, एक बेहतर कामकाज है: http://stackoverflow.com/questions/17298281/using-microsoft-bcl-async-with-code-analysis-causes-errors/17935400#17935400। –

उत्तर

71

निम्नलिखित का प्रयास करें: अपने दृश्य स्टूडियो संस्करण पर निर्भर करता है

  1. नेविगेट करने के लिए:
    • VS 2010:
      %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop
    • वी.एस. 2012:
      %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Team Tools\Static Analysis Tools\FxCop
  2. FxCopCmd.exe.config औरAssemblyReferenceResolveMode StrongName से StrongNameIgnoringVersion करने के लिए बदल खुला।
  3. परिवर्तन सहेजें और अपनी परियोजना का पुनर्निर्माण करें।
+0

यह मेरे लिए काम किया, धन्यवाद! –

+0

मेरे पास 'CA0058' एंटिटीफ्रेमवर्क का संस्करण नहीं ढूंढने के बारे में शिकायत कर रहा था जिसे मैं माना जाता था, लेकिन तब से इसे अपग्रेड किया गया था। मैं परेशान था, लेकिन यह उपकरण चल रहा है। मैं अनुमान लगा रहा हूं कि इस मामले में संस्करण कोई फर्क नहीं पड़ता है, इसलिए यह मेरे लिए अच्छा है। – Chris

+1

यह अंतर्निहित मुद्दा नहीं, लक्षण हल करता है। हमारे पास इस तरह की समस्या है क्योंकि यह दूसरों को जोड़ने के बिना है! – brumScouse

2

मुझे एक ही समस्या है (स्थानीय रूप से और दूरस्थ रूप से अजीब पर निर्माण नहीं कर सका)। इस तरीके को मुझे मदद मिली: http://connect.microsoft.com/VisualStudio/feedback/details/760208/nuget-package-for-asp-net-mvc-4-web-api-does-not-reference-correct-net-4-5-assemblies#

यहाँ हिस्सा आप की जरूरत है:

कॉपी संकुल में निहित System.Net.Http.dll और System.Net.Http.xml फ़ाइलें \ Microsoft.Net। पैकेज \ Microsoft.AspNet.WebApi.Core.4.0.20710.0 \ lib \ net40 निर्देशिका के लिए Http.2.0.20710.0 \ lib \ net40 निर्देशिका। चूंकि अनुपलब्ध System.Net.Http.dll असेंबली अब संदर्भित System.Web.Http.dll असेंबली के समान स्थान पर है, कोड विश्लेषण अब विवादित सिस्टम.Net.Http असेंबली को ठीक से हल कर सकता है।

5

विजुअल स्टूडियो 2012 और उच्चतर से, अपनी स्थापना फ़ाइलों को संशोधित करने के बजाय, यहां निर्दिष्ट वर्कअराउंड का उपयोग करें: Using Microsoft.Bcl.Async with Code Analysis causes errors

0

समस्या इसलिए हुई है क्योंकि आपके पास System.Net.Http के नए संस्करण पर निर्भरता है, जो संदर्भित अन्य असेंबली में से एक की आवश्यकता है।

इस समस्या को हल करने का सही तरीका dependentAssemblyapp.config को अपमानजनक परियोजनाओं में रीडायरेक्ट करना है। त्रुटियों को अक्षम करने का स्वीकार्य उत्तर सिर्फ अंतर्निहित समस्या का मुखौटा करता है।

app.config के लिए पुराने संस्करण को रीमेप करने के लिए निम्नलिखित को जोड़ें जो आपके प्रोजेक्ट में संदर्भित संस्करण को हल नहीं किया जा सकता है। आपकी स्थिति के अनुरूप संस्करण संख्याओं को स्पष्ट रूप से अपडेट किया जाना चाहिए।

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
+0

उपर्युक्त समाधान मेरे लिए काम नहीं करता है, –

संबंधित मुद्दे