त्रुटि संदेश 'अनुरोधित प्रकारों में से एक या अधिक लोड करने में असमर्थ। अधिक जानकारी के लिए लोडरएक्सेप्शंस संपत्ति पुनर्प्राप्त करें।'


347

मैंने एंटिटी फ्रेमवर्क , एसक्यूएल सर्वर 2000, विजुअल स्टूडियो 2008 और एंटरप्राइज लाइब्रेरी का उपयोग करके एक एप्लिकेशन विकसित किया है ।

यह स्थानीय रूप से बिल्कुल ठीक काम करता है, लेकिन जब मैं इस परियोजना को हमारे परीक्षण वातावरण में तैनात करता हूं, तो मुझे निम्नलिखित त्रुटि मिल रही है:

अनुरोधित प्रकारों में से एक या अधिक लोड करने में असमर्थ। अधिक जानकारी के लिए लोडरएक्सेप्शंस संपत्ति पुनर्प्राप्त करें

स्टैक ट्रेस: ​​System.Reflection.Module._GetTypesInternal (StackCrawlMark & ​​stackMark) पर

System.Reflection.Assembly.GetTypes () पर

System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly (LoadingContext संदर्भ) पर

System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache (LoadingContext संदर्भ)

System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache (असेंबली असेंबली, बूलियन लोडरनिरक्षितएब्लेब्लेम्स, डिक्शनरी 2 knownAssemblies, Dictionary2 और टाइपऑनलाइनिंग, सूची`1 और त्रुटियां)

System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache (ObjectItemCollection ऑब्जेक्टItemCollection, विधानसभा असेंबली, बूलियन loadReferraAssemblies)

System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType (प्रकार प्रकार) पर

System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType पर टाइप करें (असेंबली कॉलिंग, विधानसभा कॉलिंग)

System.Data.Objects.ObjectContext.CreateQuery [T] (स्ट्रिंग क्वेरीस्ट्रिंग, ObjectParameter [] पैरामीटर)

एंटिटी फ्रेमवर्क में समस्या है, किसी भी सुराग को कैसे ठीक किया जाए?


इस समस्या को हल करने के लिए कोई जादू की गोली नहीं है, लेकिन यह उत्तर आपको बहुत सटीक कारण जानने में मदद करेगा stackoverflow.com/a/8824250/185022
AZ_

जवाबों:


105

मैंने अपनी परियोजना के संदर्भों की प्रतिलिपि स्थानीय विशेषता को सही पर सेट करके इस समस्या को हल किया।


33
जब तक हम आंतरिक अपवादों को कम करते हुए ड्रिलिंग करते रहते हैं, जब तक कि हम टाइप रिफ्लेक्शनटाइपेलडैड अपवाद को नहीं देखते हैं और इसमें एक संपत्ति "लोडरएक्सपेप्शन" है जो गुम या बेमेल DLL जानकारी के बारे में जानकारी देता है। तब हम वहां से उपयुक्त क्रियाओं का ध्यान रख सकते हैं।
साईं

19
जब आप Visual Studio से डीबगिंग कर रहे हों तो ठीक है। लेकिन कैसे हो अगर आप वेब एप्लिकेशन केवल उत्पादन सर्वर पर इस त्रुटि को फेंक रहे हैं? इसके बाद भी आप प्रतिलिपि स्थानीय विशेषता को सही पर सेट करें।
यूसी

2
यह उत्पादन सर्वर पर समस्या का समाधान है, स्थानीय विज़ुअल स्टूडियो पर नहीं। स्थानीय समय पर संदर्भित DLL की प्रतिलिपि स्थानीय प्रतियों की प्रतिलिपि बनाएं और DLL को पहले उसी फ़ोल्डर में खोजा जा रहा है जो चल रहे एप्लिकेशन के रूप में है। यदि आप निर्माण सर्वर पर सही फ़ोल्डर में बिल्ड-टाइम पर प्रतिलिपि बनाई गई DLL की प्रतिलिपि नहीं बनाते हैं तो समस्या बनी रह सकती है।
मेंटोलिप्टस

मेरे मामले में मुझे Microsoft.AspNetCore.Mvc.ViewFeatures
MFedatto

530

इस त्रुटि का कोई वास्तविक मैजिक बुलेट उत्तर नहीं है। समस्या को समझने के लिए सभी जानकारी होना महत्वपूर्ण है। सबसे अधिक संभावना है कि एक गतिशील रूप से भरी हुई विधानसभा एक संदर्भित विधानसभा गायब है। उस विधानसभा को आपके आवेदन की बिन निर्देशिका में होना चाहिए।

क्या गायब है यह निर्धारित करने के लिए इस कोड का उपयोग करें।

using System.IO;
using System.Reflection;
using System.Text;

try
{
    //The code that causes the error goes here.
}
catch (ReflectionTypeLoadException ex)
{
    StringBuilder sb = new StringBuilder();
    foreach (Exception exSub in ex.LoaderExceptions)
    {
        sb.AppendLine(exSub.Message);
        FileNotFoundException exFileNotFound = exSub as FileNotFoundException;
        if (exFileNotFound != null)
        {                
            if(!string.IsNullOrEmpty(exFileNotFound.FusionLog))
            {
                sb.AppendLine("Fusion Log:");
                sb.AppendLine(exFileNotFound.FusionLog);
            }
        }
        sb.AppendLine();
    }
    string errorMessage = sb.ToString();
    //Display or log the error based on your application.
}

4
धन्यवाद! यह MEF का उपयोग करने वाले सिस्टम में किसी भी लॉगिंग सेटअप का हिस्सा होना चाहिए।
बोगी लेनिविग

4
अगर मैं हर बार मैं इस जवाब पर वापस आ सकता हूं तो इसके बारे में 5 और
अपडेट होंगे

2
तुमने मेरी जान बचाई। बहुत बहुत धन्यवाद। मुझे कभी समस्या नहीं हुई। यह कुछ पुराना dll था जो मैं किसी भी अधिक का उपयोग नहीं कर रहा था, अपनी परियोजना संरचना में गहरा पड़ा और इस मुद्दे का कारण बना।
रिचार्ड

4
बस यह पता लगाने के लिए कि क्या गायब है, उपयोग करें throw new Exception(errorMessage);, आशा है कि किसी की मदद करता है।
शाइजुत

2
किसी भी अतिरिक्त कोड के बिना, विज़ुअल स्टूडियो में एक्सेप्शन सेटिंग्स पर जाएं और सर्च बॉक्स में टाइप करें टाइप-एक्ससेप्शन फिर युगल हिट चेकबॉक्स को सक्षम करें। इसके अलावा, आपको डिबग सेक्शन "जस्ट माई कोड" के तहत विकल्पों में अक्षम करना पड़ सकता है, ताकि आप उस निर्भरता को पकड़ सकें जब आप निर्भर नहीं थे।
डेविड बर्ग

56

एक समाधान जो मेरे लिए काम करता था वह था बिन / ओबज / फ़ोल्डर्स को हटाना और समाधान का पुनर्निर्माण करना।


मुझे स्वयं परीक्षण परियोजना का निर्माण करना था, यह सुनिश्चित नहीं करना चाहिए कि आप यहाँ परीक्षण परियोजना का उल्लेख कर रहे हैं या आप जिस परियोजना का परीक्षण कर रहे हैं।
जेसन एक्सलसन

4
एक और पुन: टिप्पणी: "समाधान एक्सप्लोरर" में समाधान नोड पर राइट क्लिक करें और "क्लीन समाधान" पर क्लिक करें, फिर "समाधान का पुनर्निर्माण करें" पर क्लिक करें। (यदि आपके स्रोत प्रोजेक्ट में एक नया जोड़ है - आपके समाधान में अन्य परियोजनाएं - भाग (s), तो इसके कारण आपके प्रोजेक्ट dll फ़ोल्डर को प्रतिबिंबित करने और इस समस्या को हल करने का कारण बनता है)
Emre Guldogan

मुझे यह समस्या आ रही थी। जैसा कि सुझाव दिया गया है, मैंने विज़ुअल स्टूडियो, हटाए गए बिन फ़ोल्डर को बंद कर दिया, परियोजना को फिर से खोल दिया और पुनर्निर्माण किया और यह सफल रहा।
सागर एस।

यह तब हो रहा था जब मैं महत्वपूर्ण परिवर्तनों के साथ शाखाओं के बीच स्विच कर रहा था। बिन हटाए काम किया। सफाई और पुनर्निर्माण काम नहीं कर रहे थे।
JGTaylor

33

दो संभावित समाधान:

  1. आप रिलीज़ मोड में संकलित कर रहे हैं, लेकिन अपने डीबग डायरेक्टरी (या वाइस वर्सा) से पुराने संकलित संस्करण को तैनात कर रहे हैं।
  2. आपके पास अपने परीक्षण वातावरण में स्थापित .NET फ्रेमवर्क का सही संस्करण नहीं है।

मेरे पास एक ही समस्या थी, बिंदु 1 मेरे लिए सटीक था। धन्यवाद विलियम।
मत्ती

मुझे यही समस्या है ... मैं दोनों सुझावों के माध्यम से चला गया हूं और अभी भी एक ही त्रुटि को दूर करता
हूं

यह तब भी हो सकता है जब आपका संदर्भित DLL "अवरुद्ध" हो। इस पर राइट क्लिक करें, और "अनब्लॉक" चुनें
बेन

3
यह भी पाया गया कि यदि कोई DLL प्रोजेक्ट "कोई भी CPU" के बजाय "x64" बनाने के लिए सेट किया गया था।
डीसीएस्टेनहोलज़

# 1 तब हो सकता है जब समाधान कॉन्फ़िगरेशन गलत हो - निर्माण के लिए चयनित परियोजना नहीं, उदाहरण के लिए हटाने के बाद और समाधान के लिए फिर से परियोजना को जोड़ने
सर्फ

13

जैसा कि पहले उल्लेख किया गया है, यह आमतौर पर एक विधानसभा का मामला नहीं है।

यह जानने के लिए कि आपको कौन सी असेंबली याद आ रही है, अपने डिबगर को संलग्न करें, एक ब्रेकपॉइंट सेट करें और जब आप अपवाद ऑब्जेक्ट देखें, तो 'LoaderException' प्रॉपर्टी को ड्रिल करें। लापता विधानसभा होनी चाहिए।

आशा है ये मदद करेगा!


1
इसके अलावा, हम आंतरिक अपवादों को तब तक रोक कर रख सकते हैं जब तक कि हम टाइप रिफ्लेक्शनटाइपेलडैड अपवाद को नहीं देखते हैं और इसमें एक प्रॉपर्टी "लोडरएक्सिडेप्शन" होती है जो डीएलएल की गुम या गुम होने की जानकारी देती है।
साईं

2
कई परियोजनाओं के साथ एक समाधान में, हम यह कैसे देखते हैं कि कौन सी परियोजना लोडरएक्सपेप्शन में समस्या पैदा कर रही है? मुझे लगता है कि System.Web.Mvc नहीं मिल सकता है, लेकिन मुझे नहीं पता कि इस समाधान में 20 परियोजनाओं में से कौन सी समस्या हो सकती है।
mrcoulson

9

LoaderException की जाँच करने का उपाय था: मेरे मामले में, DLL की कुछ फाइलें गायब थीं।

यहां छवि विवरण दर्ज करें


6

सुनिश्चित करें कि आपने IIS पर 32 बिट्स एप्लिकेशन की अनुमति दी है यदि आपने IIS में तैनाती की है। आप इसे अपने वर्तमान एप्लिकेशन पूल की सेटिंग पर परिभाषित कर सकते हैं।


6

मुझे ASP.NET 4 + SQL Server 2008 R2 + Entity Framework 4 अनुप्रयोग के साथ इस त्रुटि का सामना करना पड़ा ।

यह मेरी विकास मशीन (विंडोज विस्टा 64-बिट) पर ठीक काम करेगा। फिर जब सर्वर ( विंडोज सर्वर 2008 R2 SP1) पर तैनात किया जाता है , तो यह तब तक काम करेगा जब तक कि समय समाप्त न हो जाए। इसलिए हम एप्लिकेशन को तैनात करेंगे और सबकुछ ठीक लग रहा था और फिर इसे 20 मिनट से अधिक समय के लिए छोड़ दिया गया और फिर यह त्रुटि फेंक दी गई।

इसे हल करने के लिए, मैंने लोडर एक्सेप्शन संपत्ति को पुनः प्राप्त करने के लिए केन कॉक्स के ब्लॉग पर इस कोड का उपयोग किया ।

मेरी स्थिति के लिए लापता DLL Microsoft.ReportViewer.ProcessingObjectModel(संस्करण 10) था। यह DLL उस मशीन के GAC में स्थापित किया जाना चाहिए, जिस पर अनुप्रयोग चलता है। आप इसे Microsoft रिपोर्ट व्यूअर 2010 Redistributable पैकेज में Microsoft डाउनलोड साइट पर उपलब्ध पा सकते हैं।


5

प्रारंभ में मैंने फ्यूजन लॉग दर्शक की कोशिश की, लेकिन इससे मुझे मदद नहीं मिली, इसलिए मैंने एसओएस एक्सटेंशन के साथ विनडबग का उपयोग किया।

! dumpheap -stat -type अपवाद / D

तब मैंने FileNotFoundException की जाँच की। अपवाद के संदेश में DLL का नाम था जो लोड नहीं हो रहा था।

NB, / D आपको हाइपरलिंक किए गए परिणाम देते हैं, इसलिए FileNotFoundException के सारांश में लिंक पर क्लिक करें। यह अपवादों की एक सूची लाएगा। फिर एक अपवाद के लिंक पर क्लिक करें। उस अपवाद को डंपबिज करेंगे। तब आपको केवल अपवाद ऑब्जेक्ट में संदेश के लिए लिंक पर क्लिक करने में सक्षम होना चाहिए, और आप पाठ देखेंगे।


5

यदि आप अपने प्रोजेक्ट में EntityDataSource का उपयोग कर रहे हैं, तो समाधान ठीक है: 'अनुरोधित प्रकारों में से एक या अधिक लोड करने में असमर्थ' त्रुटियाँ । आपको ContextTypeName = "ProjectNameNameSpace.EntityContainerName" सेट करना चाहिए

इससे मेरी समस्याएं हल हो गईं ...


4

इस समस्या का मेरा उदाहरण एक लापता संदर्भ समाप्त हो गया। एक विधानसभा app.config में संदर्भित किया गया था, लेकिन परियोजना में एक संदर्भ नहीं था।


3

यदि आप एंटिटी फ्रेमवर्क का उपयोग कर रहे हैं , तो स्थानीय रूप से निम्नलिखित संदर्भों को कॉपी करने का प्रयास करें।

  • System.Data.Entity
  • System.Web.Entity

इन संदर्भों के लिए संपत्ति "कॉपी लोकल" को "ट्रू" में बदलें और प्रकाशित करें।


3

एक और समाधान यह जानने के लिए कि वास्तव में कुछ भी क्यों नहीं काम करता है (Microsoft कनेक्ट से):

  1. इस कोड को प्रोजेक्ट में जोड़ें:

    foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
    {
        asm.GetTypes();
    }
  2. पीढ़ी क्रमबद्ध विधानसभाओं को बंद करें।

  3. बनाएँ और निष्पादित करें।

2

मेरे पास .NET 4.0, ASP.NET MVC 2.0, विजुअल स्टूडियो 2010 में एंटिटी फ्रेमवर्क 4.0 वेब एप्लिकेशन विकसित हुआ। मेरे पास एक ही समस्या थी, कि यह एक विंडोज सर्वर 2008 आर 2 सर्वर पर काम करता था, लेकिन दूसरे विंडोज सर्वर 2008 आर 2 सर्वर पर नहीं। भले ही .NET और ASP.NET MVC के संस्करण समान थे, लेकिन इस त्रुटि को भी आपकी ही तरह फेंक दिया।

मैं miko के सुझाव का पालन करने के लिए गया था, इसलिए मैंने असफल सर्वर पर विंडोज एसडीके v7.1 (x64) स्थापित किया , इसलिए मैं चला सकता था!

खैर, यह पता चला है कि विंडोज एसडीके v7.1 (x64) को स्थापित करने से समस्या हल हो गई। जो भी निर्भरता गायब थी, उसे एसडीके में शामिल किया जाना चाहिए था। इसे विंडोज 7 और .NET फ्रेमवर्क 4 के लिए माइक्रोसॉफ्ट विंडोज एसडीके से डाउनलोड किया जा सकता है ।


2

इसके लिए मेरी विशिष्ट समस्या / समाधान जोड़ना क्योंकि यह इस त्रुटि संदेश के लिए पहला परिणाम है। मेरे मामले में, त्रुटि तब प्राप्त हुई जब मैंने IIS में अपने पहले आवेदन के फ़ोल्डर के भीतर एक दूसरा अनुप्रयोग तैनात किया । दोनों एक ही नाम के साथ कनेक्शन स्ट्रिंग को परिभाषित कर रहे थे, जिसके परिणामस्वरूप बच्चे का संघर्ष हुआ और बदले में यह (मेरे लिए) गैर-स्पष्ट त्रुटि संदेश उत्पन्न हुआ। इसे जोड़कर हल किया गया था:

<clear/>

चाइल्ड वेब एप्लिकेशन के कनेक्शन स्ट्रिंग ब्लॉक में, जो इसे पदानुक्रम में web.config फ़ाइलों के कनेक्शन स्ट्रिंग्स को इनहेरिट करने से रोकता है, इसलिए ऐसा दिखता है:

<connectionStrings>
  <clear/>
  <add name="DbContext" connectionString="MySERVER" providerName="System.Data.SqlClient" />
</connectionStrings>

एक संदर्भ स्टैक ओवरफ्लो प्रश्न जिसने एक बार मुझे यह निर्धारित करने में मदद की कि क्या चल रहा था। क्या एक बच्चा आवेदन अपने मूल web.config से विरासत में मिलेगा?


2

इसने मेरे लिए काम किया। इसे अपने web.config में जोड़ें

<system.web>
  <trust level="Full" />

मुझे यह त्रुटि मिली:It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

2

binफ़ोल्डर से निरर्थक असेंबली फ़ाइलों को हटाने के बाद मेरा समस्या हल हो गई है ।


2

यदि कोई अन्य उत्तर आपकी मदद नहीं करता है:

जब मुझे यह समस्या थी, तो यह पता चला कि मेरी विंडोज सेवा x64 प्लेटफॉर्म के लिए बनाई गई थी, और मैं अनजाने में InstallUtil.exe का 32-बिट संस्करण चला रहा था। इसलिए सुनिश्चित करें कि आप जिस प्लेटफॉर्म के लिए निर्मित हैं, उसके लिए InstallUtil के सही संस्करण का उपयोग कर रहे हैं।


मेरा मुद्दा भी ऐसा ही था। मेरी सेवा का उपयोग करने वाले DLL में से कुछ 32-बिट प्रोसेसर के लिए संकलित किए गए, किसी भी प्रोसेसर में बदल गए और यह अब काम करता है।
ब्लेकस्टैड

1

अन्य सुझाव सभी अच्छे हैं। मेरे मामले में, समस्या यह थी कि डेवलपर बॉक्स विभिन्न एपीआई के x86 स्थान का उपयोग करके 64-बिट मशीन था, जिसमें सिल्वरलाइट भी शामिल था ।

32-बिट सर्वर से मिलान करने के लिए लक्ष्य प्लेटफ़ॉर्म को बदलकर, जहां वेब एप्लिकेशन को तैनात किया जा रहा था, अधिकांश अनुरोधित प्रकारों को लोड करने में सक्षम नहीं होने से संबंधित त्रुटियों को हटा दिया।


1

मैंने रिफरेन्स के विशिष्ट संस्करण संपत्ति को गलत में बदल दिया और इससे मदद मिली।


1

विजुअल स्टूडियो पैकेज (VSPackage) का संकलन करते समय मेरे पास एक ही त्रुटि संदेश था। संपूर्ण समाधान संकलित करता है और जब पैकेज CreatePkgDef द्वारा बनाया जा रहा होता है तो त्रुटि को फेंक दिया जाता है। ऐसा कहने के बाद, यह स्पष्ट है कि मैं LoaderException को नहीं पकड़ सकता क्योंकि यह मेरा अनुप्रयोग नहीं है जो इसे फेंकता है, लेकिन Microsoft का अपना उपकरण है। (हालांकि मैं CreatePkgDef के भ्रम के लिए जिम्मेदार हूं।)

मेरे मामले में मूल कारण यह था कि मेरा समाधान एक MyDll.dll बनाता है जो पहले ही GAC में पंजीकृत हो चुका है (और वे अलग-अलग हैं), इसलिए CreatePgkDef भ्रमित हो गया, जिसका उपयोग करने के लिए एक व्यक्ति ने निर्णय लिया और उसने केवल एक त्रुटि फेंकने का निर्णय लिया, जो ' टी वास्तव में उपयोगी है। GAC में MyDll.dll उसी उत्पाद के इंस्टॉलर द्वारा पंजीकृत किया गया था (जाहिर है कि पहले वाला संस्करण, / थोड़ा / अलग सामग्री के साथ)।

इसे कैसे जोड़ेंगे

  1. पसंदीदा तरीका: सुनिश्चित करें कि आप MyDll.dll के सही संस्करण का उपयोग करते हैं
    1. अपनी परियोजना को संकलित करते समय सुनिश्चित करें कि आप GAC में स्थित पिछले संस्करण में उपयोग किए गए से भिन्न संस्करण संख्या का उपयोग करते हैं। सुनिश्चित करें कि निम्नलिखित विशेषताएँ सही हैं:
      • [असेंबली: असेंबली वर्जन ("1.0.0.1")] // मान लें कि पुरानी DLL फ़ाइल को 1.0.0.0 संस्करणित किया गया था
      • [असेंबली: असेम्बलीफाइलवर्जन ("1.0.0.1")] // मान लें कि पुरानी DLL फ़ाइल को 1.0.0.0 संस्करणित किया गया था
    2. यदि आवश्यक हो, तो पूरी तरह से योग्य विधानसभा नाम निर्दिष्ट करें (उदाहरण के लिए, "MyDll.dll, संस्करण = 1.0.0.1, संस्कृति = तटस्थ, PublicKeyToken = 1234567890abcdef") जब आप इसे अपनी अन्य परियोजनाओं में संदर्भित करते हैं।
  2. यदि उपरोक्त विफल रहा: आप GAC से पुराने MyDll.dll की स्थापना रद्द कर सकते हैं
    1. GAC से असेंबली को अनइंस्टॉल कैसे करें
    2. उस एप्लिकेशन को अनइंस्टॉल करें जिसमें MyDll.dll शामिल है

असेंबली बदलना मेरे लिए काफी अच्छा था। :)

मुझे आशा है कि यह मददगार था।


1

मेरे पास एक ही मुद्दा था (लेकिन अपने स्थानीय पर) जब मैं पैकेज मैनेजर कंसोल के साथ एंटिटी फ्रेमवर्क प्रवासन को जोड़ने की कोशिश कर रहा था।

जिस तरह से मैंने इसे हल किया वह एक कंसोल एप्लिकेशन बनाकर था जहां मेन () में निम्नलिखित कोड था:

 var dbConfig = new Configuration();
 var dbMigrator = new DbMigrator(dbConfig);
 dbMigrator.Update();

सुनिश्चित करें कि कॉन्फ़िगरेशन क्लास आपके असफल प्रोजेक्ट का माइग्रेशन कॉन्फ़िगरेशन है। आपको DbMigrator का उपयोग करने के लिए System.Data.Entity.Migrations की आवश्यकता होगी।

अपने एप्लिकेशन में एक ब्रेकपॉइंट सेट करें, और इसे चलाएं। अपवाद को Visual Studio द्वारा पकड़ा जाना चाहिए (जब तक कि आपके पास डिबग सत्र को न तोड़ने के लिए वह अपवाद प्रकार सेट नहीं है), और आपको वह जानकारी ढूंढने में सक्षम होना चाहिए जिसे आप खोज रहे हैं।

मेरे मामले में गायब संदर्भ EFProviderWrapperToolkit था।


1

मुझे यह समस्या तब आई जब मैंने एक प्रोजेक्ट पर NuGet पैकेज स्थापित किया और दूसरे प्रोजेक्ट को अपडेट करना भूल गया।

मैंने इसे केवल एक ही संदर्भ असेंबली वाले दोनों प्रोजेक्ट बनाकर हल किया।


लिंक के लिए धन्यवाद! मुझे पता नहीं था कि नुगेट क्या था।
jebar8

1

यह मेरे लिए भी हुआ। मैंने इस समस्या को निम्नानुसार हल किया: राइट क्लिक समाधान, समाधान के लिए NuGet संकुल प्रबंधित करें ... संकुल को समेकित करें और संकुल को उसी संस्करण में रखने के लिए उन्नत किया।


0

32 बिट IIS मोड को सही, डिबग मोड को सही करने के लिए कॉन्फ़िगरेशन फ़ाइल में सेट करें, tempनिर्देशिका को हटाना और IIS रीसेट करना समस्या को अस्थायी रूप से ठीक करता है और कुछ समय बाद वापस आता है।


0

पुष्टि करें कि आपकी प्रत्येक परियोजना कॉन्फ़िगरेशन प्रबंधक में सही ढंग से सेटअप है ।

इस मुद्दे के लिए विलियम एडमंडसन के कारण के समान , मैंने अपने कॉन्फ़िगरेशन प्रबंधक सेटिंग को "डीबग" "किसी भी सीपीयू" से "डीबग" "नेट" पर स्विच कर दिया। समस्या यह थी कि ".NET" संस्करण सभी परियोजनाओं के निर्माण के लिए कॉन्फ़िगर नहीं किया गया था, इसलिए मेरे कुछ DLL पुराने थे (जबकि अन्य चालू थे)। इससे एप्लिकेशन को शुरू करने में कई समस्याएं हुईं।

अस्थायी सुधार केनी एलियासन के सुझाव को बिन और \ obj निर्देशिका को साफ करने के लिए करना था । हालाँकि, जैसे ही मैंने गैर-संकलन परियोजनाओं में अधिक बदलाव किए, सब कुछ फिर से विफल हो जाएगा।


0

मुझे यह समस्या तब भी हुई जब विज़ुअल स्टूडियो 2015 के साथ नए Microsoft Word ऐड-इन बनाते हैं। यह समस्या मेरे पास MS Office, 2013 और 2016 के 2 संस्करणों की है। मैं MS Office 2013 की स्थापना रद्द करता हूं और फिर यह काम करता है।


0

मैं SharePoint के लिए कुछ परियोजनाओं का निर्माण करता हूं और निश्चित रूप से, उन्हें तैनात किया है। एक बार ऐसा हुआ।

मुझे C: \ Windows \ Assembly \ temp \ xxx (FarManager के साथ) में एक पुरानी असेंबली मिली, इसे रिबूट के बाद हटा दिया, और सभी प्रोजेक्ट बनाए।

मेरे पास MSBuild के लिए सवाल है, क्योंकि प्रोजेक्ट असेंबली में प्रोजेक्ट्स की तरह लिंक किए गए हैं और हर असेंबली को "कॉपी लोकल" चिह्नित किया गया है, लेकिन जीएसी से नहीं।


0

मैं प्रोजेक्ट में सभी संदर्भित DLL फ़ाइलों पर "कॉपी लोकल = ट्रू" कॉपी करके, परीक्षण सर्वर पर पुनर्निर्माण और तैनाती करके इस मुद्दे को ठीक करने में सक्षम हूं।


0

मेरे पास ऑटोमैप के साथ एक मुद्दा था। में binफ़ोल्डर, फ़ाइल automap.4net.dll वहाँ था, लेकिन किसी कारण से automap.xml और automap.dll नहीं थे। उन्हें binनिर्देशिका में कॉपी करने से समस्या हल हो गई।

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