ত্রুটি বার্তা 'অনুরোধ করা ধরণের এক বা একাধিক লোড করতে অক্ষম। আরও তথ্যের জন্য লোডারএক্সেপশন সম্পত্তি পুনরুদ্ধার করুন ''


347

আমি সত্ত্বা ফ্রেমওয়ার্ক , এসকিউএল সার্ভার 2000, ভিজ্যুয়াল স্টুডিও 2008 এবং এন্টারপ্রাইজ লাইব্রেরি ব্যবহার করে একটি অ্যাপ্লিকেশন তৈরি করেছি ।

এটি স্থানীয়ভাবে একেবারে সূক্ষ্মভাবে কাজ করে তবে আমি যখন আমাদের পরীক্ষার পরিবেশে প্রকল্পটি স্থাপন করি তখন আমি নিম্নলিখিত ত্রুটিটি পেয়ে যাচ্ছি:

অনুরোধ করা ধরণের এক বা একাধিক লোড করতে অক্ষম। আরও তথ্যের জন্য লোডারএক্সেপশন সম্পত্তি পুনরুদ্ধার করুন

স্ট্যাক ট্রেস: সিস্টেম.প্রকাশন.মোডুল._ গেটটাইপস আন্তঃ (স্ট্যাকক্রোলমার্ক এবং স্ট্যাকমার্ক)

System.Reflection.Asorses.GetTypes () এ

System.Data.Metadata.Edm.ObjectItem Colલેક્શન এ.অ্যাস্প্যাসক্যাস ক্যাচ এন্ট্রি.লডটাইপফর্মঅ্যাস্প্যাসেস (লোডিং কনটেক্সট প্রসঙ্গ)

System.Data.Metadata.Edm.ObjectItem Colલેક્શન এ.অ্যাস্প্যাসক্যাসি ক্যাশ এন্ট্রি.ইন্টার্নাল লোড অ্যাস্পোরেশনফ্রোম ক্যাশে (লোডিংকনটেক্সট প্রসঙ্গ)

System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache (পরিষদের সমাবেশ, বুলিয়ান loadReferencedAssemblies, অভিধান এ 2 knownAssemblies, Dictionary2 & typesInLoading, List`1 & ত্রুটিগুলি দেখে)

System.Data.Metadata.Edm.ObjectItem Collections.LoadAsorsesFromCache এ (অবজেক্টম্যাটমকলেশন অবজেক্ট আইটেম সংকলন, অ্যাসেম্বলি অ্যাসেমব্লী, বুলিয়ান লোড রেফারেন্সড অ্যাসেমব্লিজ)

System.Data.Metadata.Edm.ObjectItem Colલેક્શન.LoadAsorses ForType (টাইপ টাইপ) এ

System.Data.Metadata.Edm.MetadataWorkspace.LoadAsorsesForType এ টাইপ করুন (টাইপ টাইপ, অ্যাসেম্বলি কলিংঅ্যাস্প্যাসেশন)

System.Data.Objects.ObjectContext.CreateQuery [টি] এ (স্ট্রিং ক্যোয়ারিস্ট্রিং, অবজেক্টপ্যারামিটার [] পরামিতি)

সত্তা ফ্রেমওয়ার্ক ইস্যু আছে বলে মনে হচ্ছে, এটির সমাধানের কোনও ক্লু?


এই সমস্যা সমাধানের জন্য কোন ম্যাজিক বুলেট কিন্তু এই উত্তর আপনি খুব সঠিক কারণ জানা সাহায্য করবে stackoverflow.com/a/8824250/185022
AZ_

উত্তর:


105

আমি আমার প্রকল্পের উল্লেখগুলির অনুলিপি স্থানীয় বৈশিষ্ট্যটি সেট করে এই সমস্যাটি সমাধান করেছি।


33
আমরা যখন অভ্যন্তরীণ ব্যতিক্রমগুলি ততক্ষণ সরাতে থাকি যতক্ষণ না আমরা রিফ্লেকশনটাইপলয়েডএক্সসেপশন টাইপটির ব্যতিক্রম দেখতে পাই এবং এতে একটি সম্পত্তি "লোডারএক্সেপশনস" থাকে যা ডিএলএল অনুপস্থিত বা মিলের তথ্য দেয় না। তারপরে আমরা সেখান থেকে উপযুক্ত পদক্ষেপের যত্ন নিতে পারি।
সাই

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

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

আমার ক্ষেত্রে আমাকে মাইক্রোসফ্ট.এস্পনেটকোর.এমভিসি.ভিউফাইচারস
এমফেদাতো

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
ধন্যবাদ! এটি এমইএফ ব্যবহার করে এমন সিস্টেমে কোনও লগিং সেটআপের অংশ হওয়া উচিত।
বোগি ল্যানভিগ

4
আমি প্রত্যেক সময় ভোট দিন পারে আমি ফিরে এই উত্তর আসা এটা আরও 5 upvotes সম্পর্কে হবে ... এবং বেড়ে চলেছে
sǝɯɐs

2
আপনি আমার জীবন বাঁচিয়েছেন। তোমাকে অনেক ধন্যবাদ. আমি সমস্যাটি খুঁজে পেতাম না। এটি এমন কিছু পুরাতন dll ছিল যা আমি আর ব্যবহার করছিলাম না, আমার প্রকল্প কাঠামোর গভীরে লুকিয়ে ছিল এবং এই সমস্যাটি সৃষ্টি করছিল।
রিচার্ড

4
কেবল কী অনুপস্থিত তাড়াতাড়ি অনুসন্ধান করার জন্য throw new Exception(errorMessage);, আশা কাউকে সহায়তা করে।
শাইজুত

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

56

আমার পক্ষে কাজ করা একটি সমাধান হ'ল বিন / এবং আপত্তি / ফোল্ডারগুলি মুছুন এবং সমাধানটি পুনরায় তৈরি করুন।


আমাকে নিজেই পরীক্ষা প্রকল্পটি পুনর্নির্মাণ করতে হয়েছিল, আপনি এখানে পরীক্ষা প্রকল্পটি বা আপনি যে প্রকল্পটি পরীক্ষা করছেন তা উল্লেখ করছেন কিনা তা নিশ্চিত নয়।
জেসন অ্যাকসেলসন

4
অন্য পুনরায় মন্তব্য: "সমাধান এক্সপ্লোরার" এর সমাধান নোডটিতে ডান ক্লিক করুন এবং "ক্লিন সলিউশন" ক্লিক করুন, তারপরে "পুনর্নির্মাণ সমাধান" ক্লিক করুন। (যদি আপনার উত্স প্রকল্পে কোনও নতুন সংযোজন হয় - আপনার সমাধানের অন্যান্য প্রকল্প - অংশ (গুলি), এর ফলে পরিবর্তনগুলি আপনার প্রকল্পের dll ফোল্ডারে প্রতিফলিত হয় এবং এই সমস্যাটি সমাধান করে)
এমরে গুলডোগান

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

আমি যখন উল্লেখযোগ্য পরিবর্তন সহ শাখাগুলির মধ্যে স্যুইচ করছিলাম তখন এটি ঘটছিল। বিন মুছে ফেলা কাজ। পরিষ্কার এবং পুনর্নির্মাণ কাজ করছিল না।
জেজিটেলর

33

দুটি সম্ভাব্য সমাধান:

  1. আপনি রিলিজ মোডে সংকলন করছেন তবে আপনার ডিবাগ ডিরেক্টরি থেকে পুরানো সংকলিত সংস্করণ স্থাপন করছেন (বা বিপরীতে)।
  2. আপনার পরীক্ষার পরিবেশে .NET ফ্রেমওয়ার্কের সঠিক সংস্করণ ইনস্টল করা নেই।

আমার একই সমস্যা ছিল, পয়েন্ট 1 আমার জন্য সঠিক ছিল। ধন্যবাদ উইলিয়াম।
ম্যাথু

আমারও একই সমস্যা ... আমি দুটি প্রস্তাবের মধ্য দিয়ে গিয়েছি এবং এখনও একই ত্রুটিটি
পেয়েছি

আপনার রেফারেন্সড ডিএলএল "অবরুদ্ধ" করা থাকলে এটিও ঘটতে পারে। এটিতে ডান ক্লিক করুন এবং "অবরোধ মুক্ত করুন"
বেন

3
ডিএলএল প্রকল্পগুলির মধ্যে একটিতে "যে কোনও সিপিইউ" এর পরিবর্তে "x64" তৈরি করতে সেট করা থাকলে এটি ঘটতেও দেখা গেছে।
ডিসিস্টেনহোলজ

# 1 ঘটতে পারে যদি সমাধান কনফিগারেশন ভুল - সরানোর এবং আবার সমাধান প্রকল্পের যোগ করার পরে প্রকল্পের বিল্ড জন্য নির্বাচিত না, উদাহরণস্বরূপ
surfen

13

যেমনটি আগে উল্লেখ করা হয়েছে, এটি সাধারণত কোনও সমাবেশে না থাকার ঘটনা ঘটে।

আপনি কী অ্যাসেম্বলি মিস করছেন ঠিক তা জানতে, আপনার ডিবাগারটি সংযুক্ত করুন, একটি ব্রেকপয়েন্ট নির্ধারণ করুন এবং আপনি যখন ব্যতিক্রম বস্তুটি দেখেন, তখন 'লোডারএক্সেপশনস' সম্পত্তিটিতে ড্রিল করুন। নিখোঁজ সমাবেশটি সেখানে হওয়া উচিত।

আশা করি এটা সাহায্য করবে!


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

2
একাধিক প্রকল্পের সমাধানে আমরা কীভাবে দেখব যে কোন প্রকল্প লোডারএক্সেপশনগুলিতে সমস্যা সৃষ্টি করছে? আমি দেখতে পাই যে System.Web.Mvc খুঁজে পাওয়া যায় না, তবে আমি জানি না যে এই সমাধানের 20 টির মধ্যে কোনটি সমস্যায় পড়তে পারে।
mrcoulson

9

সমাধানটি লোডারএক্সেপশন চেক করা ছিল: আমার ক্ষেত্রে, কিছু ডিএলএল ফাইল অনুপস্থিত ছিল।

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


6

আপনি যদি আইআইএস-এ স্থাপন করেন তবে আপনি 32 টি বিট অ্যাপ্লিকেশনগুলিকে আইআইএস-এ অনুমতি দিচ্ছেন তা নিশ্চিত করুন । আপনি আপনার বর্তমান অ্যাপ্লিকেশন পুলের সেটিংসে এটি সংজ্ঞায়িত করতে পারেন।


6

আমি একটি এএসপি.নেট 4 + এসকিউএল সার্ভার ২০০৮ আর 2 + সত্তা ফ্রেমওয়ার্ক 4 অ্যাপ্লিকেশনটির সাথে এই ত্রুটির মুখোমুখি হয়েছি ।

এটি আমার বিকাশ মেশিনে (উইন্ডোজ ভিস্তা ista৪-বিট) কাজ করবে। তারপরে সার্ভারে স্থাপন করা হলে ( উইন্ডোজ সার্ভার ২০০৮) আর 2 এসপি 1) সেশনটির সময় শেষ না হওয়া পর্যন্ত এটি কাজ করবে। সুতরাং আমরা অ্যাপ্লিকেশনটি স্থাপন করব এবং সবকিছু ঠিকঠাক লাগছিল এবং তারপরে এটি 20 মিনিটের সেশনের সময়সীমা চেয়ে বেশি রেখে দেওয়া হবে এবং তারপরে এই ত্রুটিটি ছুঁড়ে ফেলা হবে।

এটি সমাধানের জন্য, আমি কেন কক্সের ব্লগে এই কোডটি ব্যবহার করেছি লোডারএক্সেপশন সম্পত্তি পুনরুদ্ধারে ।

আমার পরিস্থিতির জন্য নিখোঁজ ডিএলএল ছিল Microsoft.ReportViewer.ProcessingObjectModel(সংস্করণ 10)। এই ডিএলএলটি মেশিনটির জিএসিতে ইনস্টল করা দরকার অ্যাপ্লিকেশনটি চলছে। মাইক্রোসফ্ট ডাউনলোড সাইটে এটি উপলব্ধ মাইক্রোসফ্ট রিপোর্ট ভিউয়ার 2010 পুনরায় বিতরণযোগ্য প্যাকেজে আপনি এটি পেতে পারেন।


5

প্রাথমিকভাবে আমি ফিউশন লগ ভিউয়ারটি চেষ্টা করেছি, তবে এটির সাহায্য হয়নি তাই আমি এসওএস এক্সটেনশনের সাহায্যে উইনডিবিজি ব্যবহার করে শেষ করেছি।

! ডাম্পেপ-স্ট্যাট-টাইপ ব্যতিক্রম / ডি

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

এনবি, / ডি আপনাকে হাইপারলিঙ্কযুক্ত ফলাফল দেয়, সুতরাং ফাইলনটফাউন্ডএক্সেপশন-এর সংক্ষিপ্তসার লিঙ্কটিতে ক্লিক করুন। এটি ব্যতিক্রমগুলির একটি তালিকা এনে দেবে। তারপরে ব্যতিক্রমগুলির একটিতে লিঙ্কে ক্লিক করুন। যে ব্যতিক্রম ডাম্পবজেক্ট। তারপরে আপনি কেবল ব্যতিক্রম অবজেক্টে বার্তার জন্য লিঙ্কটিতে ক্লিক করতে সক্ষম হবেন এবং আপনি পাঠ্যটি দেখতে পাবেন।


5

আপনি যদি আপনার প্রকল্পে সত্ত্বা ডেটাসোর্স ব্যবহার করছেন তবে সমাধানটি সমাধানে রয়েছে : 'অনুরোধ করা ধরণের এক বা একাধিক লোড করতে অক্ষম' ত্রুটিগুলি । আপনার ContextTypeName = "ProjectNameNameSpace.EntityContainerName" "সেট করা উচিত

এটি আমার সমস্যার সমাধান করেছে ...


4

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


3

আপনি যদি সত্ত্বা ফ্রেমওয়ার্ক ব্যবহার করছেন তবে নিম্নলিখিত রেফারেন্সগুলি স্থানীয়ভাবে অনুলিপি করার চেষ্টা করুন।

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

এই রেফারেন্সগুলির জন্য সম্পত্তি "কপি করুন স্থানীয়" "সত্য" এ পরিবর্তন করুন এবং প্রকাশ করুন।


3

কেন ঠিক কিছুই কাজ করে না তা জানার জন্য আরও একটি সমাধান (মাইক্রোসফ্ট সংযোগ থেকে):

  1. প্রকল্পে এই কোড যুক্ত করুন:

    foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
    {
        asm.GetTypes();
    }
  2. প্রজন্মের সিরিয়ালাইজেশন অ্যাসেম্বলিগুলি বন্ধ করুন।

  3. বিল্ড এবং এক্সিকিউট।

2

আমার একটি নেট নেট, 4.0.০, এএসপি.এনইটি এমভিসি ২.০, সত্তা ফ্রেমওয়ার্ক ৪.০ ওয়েব অ্যাপ্লিকেশনটি ভিজ্যুয়াল স্টুডিও ২০১০-তে বিকাশ হয়েছে I আমার একই সমস্যা ছিল, এটি একটি উইন্ডোজ সার্ভার ২০০৮ এ কাজ করেছিল 2008 R2 হলো সার্ভার কিন্তু অন্য উইন্ডোজ সার্ভার 2008 R2 সার্ভারে, যদিও নেট এবং এএসপি.নেট এমভিসির সংস্করণগুলি একই ছিল, এই ত্রুটিটি আপনার নিজের মতো করে ফেলেছে।

আমি মিকোর পরামর্শ অনুসরণ করতে গিয়েছিলাম, তাই আমি ব্যর্থ সার্ভারে উইন্ডোজ এসডিকে ভি 7.1 (x64) ইনস্টল করেছি , যাতে আমি চালাতে পারি!

ঠিক আছে, দেখা যাচ্ছে যে উইন্ডোজ এসডিকে ভি 7.1 (x64) ইনস্টল করার ফলে সমস্যার সমাধান হয়েছে। যে নির্ভরতা অনুপস্থিত তা অবশ্যই এসডিকে অন্তর্ভুক্ত করা উচিত। এটি উইন্ডোজ 7 এবং। নেট ফ্রেমওয়ার্ক 4 এর জন্য মাইক্রোসফ্ট উইন্ডোজ এসডিকে থেকে ডাউনলোড করা যেতে পারে ।


2

এটিতে আমার নির্দিষ্ট সমস্যা / সমাধান যুক্ত করা কারণ এটি এই ত্রুটি বার্তার প্রথম ফলাফল। আমার ক্ষেত্রে, ত্রুটি পাওয়া গিয়েছিল যখন আমি আমার প্রথম আবেদন ফোল্ডার মধ্যে একটি দ্বিতীয় আবেদন মোতায়েন আইআইএস । উভয়ই একই নামের সাথে সংযোগের স্ট্রিংটি সংজ্ঞায়িত করছিলেন যার ফলস্বরূপ শিশু প্রয়োগে দ্বন্দ্ব সৃষ্টি হয়েছিল এবং ফলস্বরূপ এটি (আমার কাছে) অ-স্পষ্টত ত্রুটি বার্তা উত্পন্ন করেছিল। এটি যোগ করে সমাধান করা হয়েছিল:

<clear/>

চাইল্ড ওয়েব অ্যাপ্লিকেশনটির সংযোগ স্ট্রিং ব্লক যা এটিকে ক্রমবর্ধমান থেকে উচ্চতর ওয়েবকনফাইগ ফাইলের সংযোগের স্ট্রিংগুলি উত্তরাধিকার সূত্রে বাধা দেয়, তাই দেখে মনে হচ্ছে:

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

একটি রেফারেন্স স্ট্যাক ওভারফ্লো প্রশ্ন যা একবার যা হয়েছিল তা নির্ধারণ করতে সহায়তা করেছিল যে কোনও সন্তানের অ্যাপ্লিকেশনটি কি তার পিতামাতার ওয়েবকনফিগের উত্তরাধিকার সূত্রে উত্তরাধিকারী হবে?


2

এটি আমার পক্ষে কাজ করেছে। এটি আপনার ওয়েবকনফাইগে যুক্ত করুন

<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

অন্য উত্তরগুলির কোনওটি আপনাকে সহায়তা না করায়:

যখন আমার এই সমস্যাটি হয়েছিল, তখন এটি আমার উইন্ডোজ পরিষেবাটি একটি এক্স 64 প্ল্যাটফর্মের জন্য নির্মিত হয়েছিল এবং আমি অজান্তেই ইনস্টলটুইল.এক্সইয়ের 32-বিট সংস্করণটি চালাচ্ছি। সুতরাং নিশ্চিত হয়ে নিন যে আপনি যে প্ল্যাটফর্মটি তৈরি করেছেন তার জন্য ইনস্টলটুলের সঠিক সংস্করণটি ব্যবহার করছেন।


আমারও একি দশা. আমার পরিষেবাটি যে কয়েকটি ডিএলএল ব্যবহার করছে তা 32-বিট প্রসেসরের জন্য সংকলিত ছিল, কোনও প্রসেসরে পরিবর্তিত হয়েছিল এবং এটি এখন কাজ করে।
ব্লেক থিংস্ট্যাড

1

অন্যান্য পরামর্শ সব ভাল। আমার ক্ষেত্রে, সমস্যাটি হ'ল বিকাশকারী বাক্সটি একটি 64-বিট মেশিন ছিল যা সিলভারলাইট সহ বিভিন্ন এপিআইয়ের x86 অবস্থান ব্যবহার করেছিল

32-বিট সার্ভারের সাথে মিলানোর জন্য টার্গেট প্ল্যাটফর্মটি পরিবর্তন করে যেখানে ওয়েব অ্যাপ্লিকেশন মোতায়েন করা হয়েছিল অনুরোধকৃত ধরণের এক বা একাধিক লোড না করতে সক্ষমতার সাথে সম্পর্কিত বেশিরভাগ ত্রুটি সরিয়ে ফেলে।


1

আমি রেফারেন্সির নির্দিষ্ট সংস্করণ সম্পত্তিটিকে মিথ্যাতে পরিবর্তন করেছি এবং এটি সাহায্য করেছে।


1

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

আমার ক্ষেত্রে এর মূল কারণটি ছিল আমার সমাধানটি একটি MyDll.dll তৈরি করে যা ইতিমধ্যে জিএসি তে নিবন্ধিত হয়েছে (এবং সেগুলি পৃথক), সুতরাং ক্রিয়েটপিজিডিএফ কোনটি ব্যবহার করতে হবে তা বিভ্রান্ত হয়ে পড়ে এবং এটি ঠিক একটি ত্রুটি ফেলে দেওয়ার সিদ্ধান্ত নিয়েছে যা ' সত্যিই সহায়ক। জিএসি-র মধ্যে MyDll.dll একই পণ্য প্রতিষ্ঠানের দ্বারা নিবন্ধিত হয়েছে (স্পষ্টতই পূর্ববর্তী সংস্করণ, / সামান্য / ভিন্ন সামগ্রী সহ)।

কিভাবে এটা মেরামত করা যেতে পারে

  1. পছন্দসই উপায়: আপনি MyDll.dll এর সঠিক সংস্করণটি ব্যবহার করেছেন তা নিশ্চিত করুন
    1. আপনার প্রকল্পটি সংকলন করার সময় নিশ্চিত করুন যে আপনি জিএসি-তে অবস্থিত পূর্ববর্তী সংস্করণে ব্যবহার করেছেন তার চেয়ে আলাদা সংস্করণ নম্বর ব্যবহার করেছেন। নিম্নলিখিত বৈশিষ্ট্যগুলি সঠিক কিনা তা নিশ্চিত করুন:
      • [সমাবেশ: এসেম্বলি ভার্সন ("1.0.0.1")] // ধরে নিলাম পুরানো ডিএলএল ফাইলটির সংস্করণ 1.0.0.0 হয়েছিল
      • [সমাবেশ: এসেম্বলিফিলিভিশন ("০.০.০.১")] // ধরে নিলাম পুরানো ডিএলএল ফাইলটির সংস্করণ 1.0.0.0 হয়েছিল
    2. যদি প্রয়োজন হয় তবে সম্পূর্ণরূপে যোগ্য সমাবেশের নাম উল্লেখ করুন (উদাহরণস্বরূপ, "MyDll.dll, সংস্করণ = 1.0.0.1, সংস্কৃতি = নিরপেক্ষ, PublicKeyToken = 1234567890abcdef") যখন আপনি অন্য প্রকল্পগুলিতে এটি উল্লেখ করেন।
  2. যদি উপরেরটি ব্যর্থ হয়: আপনি জিএসি থেকে পুরানো MyDll.dll আনইনস্টল করতে পারেন
    1. কীভাবে জিএসি থেকে কোনও অ্যাসেম্বলি আনইনস্টল করবেন
    2. MyDll.dll অন্তর্ভুক্ত অ্যাপ্লিকেশনটি আনইনস্টল করুন

অ্যাসেম্বলি ভার্সন পরিবর্তন করা আমার পক্ষে যথেষ্ট ভাল ছিল। :)

আশা করি এটা উপকারে এসেছিল।


1

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

যেভাবে আমি এটি সমাধান করেছি তা কনসোল অ্যাপ্লিকেশন তৈরি করে যেখানে মেইন () এর নিম্নলিখিত কোড ছিল:

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

কনফিগারেশন ক্লাসটি হ'ল আপনার ব্যর্থ প্রকল্পের মাইগ্রেশন কনফিগারেশন Make আপনার DbMigrator ব্যবহার করার জন্য System.Data.Entity.Migration প্রয়োজন হবে।

আপনার অ্যাপ্লিকেশন একটি ব্রেকপয়েন্ট সেট করুন, এবং এটি চালান। ব্যতিক্রমটি ভিজ্যুয়াল স্টুডিওতে ধরা উচিত (যদি না আপনি ব্যতিক্রম টাইপ না করেন তবে ডিবাগ সেশনটি না ভাঙতে পারে) এবং আপনি যে তথ্যটি সন্ধান করছেন তা সন্ধান করতে সক্ষম হওয়া উচিত।

আমার ক্ষেত্রে অনুপস্থিত রেফারেন্সটি ছিল EFProviderWrapperToolkit।


1

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

আমি উভয় প্রকল্পের একই রেফারেন্স অ্যাসেম্বলির মাধ্যমে সমাধান করেছি।


লিঙ্কের জন্য ধন্যবাদ! নুগেট কী তা আমার কোনও ধারণা ছিল না।
jebar8

1

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


0

কনফিগারেশন ফাইলে 32 বিট আইআইএস মোডকে সত্যে ডিবাগ মোড tempসেট করুন, ডিরেক্টরি মুছে ফেলা এবং আইআইএস পুনরায় সেট করা সাময়িকভাবে সমস্যার সমাধান করে এবং এটি কিছু সময় পরে ফিরে আসে।


0

আপনার প্রতিটি প্রকল্প কনফিগারেশন ম্যানেজারে সঠিকভাবে সেট আপ হয়েছে তা যাচাই করুন ।

অনুরূপ উইলিয়াম Edmondson এর এই সমস্যার জন্য কারণ, আমি থেকে "ডিবাগ" "কোন ডিবাগ" ".NET" "থেকে" CPU- র আমার কনফিগারেশন ম্যানেজার সেটিং সুইচ। সমস্যাটি হ'ল ".NET" সংস্করণটি সমস্ত প্রকল্পের নির্মাণের জন্য কনফিগার করা হয়নি, সুতরাং আমার কিছু ডিএলএল পুরানো ছিল (যখন অন্যরা বর্তমান ছিল)। এর ফলে অ্যাপ্লিকেশন শুরু করার ক্ষেত্রে অসংখ্য সমস্যা দেখা দিয়েছে।

অস্থায়ী সমাধানটি ছিল was বিন এবং \জ ডিরেক্টরিগুলি পরিষ্কার করার জন্য কেনি এলিয়াসনের পরামর্শটি করা। যাইহোক, অমীমাংসিত প্রকল্পগুলিতে আরও পরিবর্তন করার সাথে সাথে সমস্ত কিছু আবার ব্যর্থ হবে।


0

ভিজুয়াল স্টুডিও 2015-তে নতুন মাইক্রোসফ্ট ওয়ার্ড অ্যাড-ইন তৈরি করার সময় আমিও এই সমস্যাটি পেয়েছি The সমস্যাটি আমার কাছে এমএস অফিস, 2013 এবং 2016 এর 2 সংস্করণ রয়েছে I আমি এমএস অফিস 2013 টি আনইনস্টল করি এবং তারপরে এটি কার্যকর হয়।


0

আমি শেয়ারপয়েন্টের জন্য কয়েকটি প্রকল্প তৈরি করি এবং অবশ্যই তাদের স্থাপন করি। এক সময় এটা হয়েছিল।

আমি সি-তে একটি পুরাতন সমাবেশ পেয়েছি: \ উইন্ডোজ \ অ্যাসেম্বলি \ টেম্প \ এক্সএক্সএক্সএক্স (ফারম্যানেজার সহ), এটি পুনরায় বুট করার পরে সরিয়ে নিয়েছে এবং সমস্ত প্রকল্প নির্মিত।

আমার এমএসবিল্ডের কাছে প্রশ্ন আছে, কারণ প্রকল্প সম্মেলনে প্রকল্পগুলির মতো সংযুক্ত থাকে এবং প্রতিটি সমাবেশকে "স্থানীয় কপি করুন" চিহ্নিত করা হয়, তবে জিএসি থেকে নয়।


0

প্রকল্পের সমস্ত রেফারেন্সড ডিএলএল ফাইলগুলিতে পুনরায় বিল্ডিং এবং পরীক্ষার সার্ভারে স্থাপন করে "স্থানীয় কপিরাইট = সত্য" চিহ্নিত করে আমি এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি।


0

অটোম্যাপ নিয়ে আমার সমস্যা ছিল। ইন binফোল্ডারের, ফাইল automap.4net.dll সেখানে ছিল, কিন্তু কিছু কারণে automap.xml এবং automap.dll ছিল না। এগুলি binডিরেক্টরিতে অনুলিপি করা সমস্যার সমাধান করেছে।

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