সমাবেশ ত্রুটি থেকে প্রকারটি লোড করা যায়নি


120

ক্যাসেল উইন্ডসর এর ফ্লুয়েট ইন্টারফেস শিখতে চেষ্টা করার জন্য আমি নিম্নলিখিত সাধারণ পরীক্ষাটি লিখেছি:

using NUnit.Framework;
using Castle.Windsor;
using System.Collections;
using Castle.MicroKernel.Registration;

namespace WindsorSample {
    public class MyComponent : IMyComponent {
        public MyComponent(int start_at) {
            this.Value = start_at;
        }
        public int Value { get; private set; }
    } 
    public interface IMyComponent {
        int Value { get; }
    }

    [TestFixture]
    public class ConcreteImplFixture {
        [Test]
        public void ResolvingConcreteImplShouldInitialiseValue() {
            IWindsorContainer container = new WindsorContainer();
            container.Register(Component.For<IMyComponent>().ImplementedBy<MyComponent>().Parameters(Parameter.ForKey("start_at").Eq("1")));
            IMyComponent resolvedComp = container.Resolve<IMyComponent>();
            Assert.AreEqual(resolvedComp.Value, 1); 
        }
    }
}

আমি যখন টেস্টড্রাইভন.নোটের মাধ্যমে পরীক্ষাটি সম্পাদন করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

System.TypeLoadException : Could not load type 'Castle.MicroKernel.Registration.IRegistration' from assembly 'Castle.MicroKernel, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'.
at WindsorSample.ConcreteImplFixture.ResolvingConcreteImplShouldInitialiseValue()

আমি যখন NUnit GUI এর মাধ্যমে পরীক্ষাটি সম্পাদন করি তখন:

WindsorSample.ConcreteImplFixture.ResolvingConcreteImplShouldInitialiseValue:
System.IO.FileNotFoundException : Could not load file or assembly 'Castle.Windsor, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies. The system cannot find the file specified.

আমি যদি রিফ্লেক্টরে রেফারেন্স দিচ্ছি যে অ্যাসেম্বলিটি খোলাম আমি দেখতে পাব এর তথ্য হ'ল:

Castle.MicroKernel, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc

এবং এটিতে অবশ্যই ক্যাসল রয়েছে ic মাইক্রো কার্নেল e নিবন্ধন IR নিবন্ধকরণ

কি হতে পারত?

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

উত্তর:


111

গ্লোবাল অ্যাসেম্বলি ক্যাশে (জিএসি) এর সমাবেশটি কি এমন কোনও জায়গা যা আপনার মনে হয় যে সমাবেশটি বোঝা হচ্ছে বলে বিবেচনা করছে? এটি সাধারণত কোনও ভুল সমাবেশ লোড হওয়ার ফলাফল me


1
আমি dll ফাইলগুলিতে ব্রাউজ করে অ্যাসেমব্লিগুলি যুক্ত করেছি, সুতরাং জিএসি সমীকরণে প্রবেশ করা উচিত নয়। এছাড়াও এসেম্বলিতে ডান ক্লিক করুন-> সমাধান এক্সপ্লোরার থেকে প্রতিচ্ছবিতে ওপেন করুন এটি আমার কাছে প্রত্যাশা করা সমস্ত তথ্য সহ প্রতিফলকটিতে নিয়ে আসে
— জর্জ মাউয়ার

7
আপনি কীভাবে এটি যুক্ত করেছেন তা বিবেচ্য নয় যদি একই নাম / সংস্করণ সহ কোনও সমাবেশ জিএসি তে বিদ্যমান থাকে তবে এটি এটি লোড করবে।
— এরিক শুনোভার

1
VS.NET আপনার নির্বাচিত যে সমাবেশের পথটি তালিকাভুক্ত করবে এবং প্রতিচ্ছবিটি সঠিক সমাবেশটি খুলবে তবে অ্যাপ্লিকেশন .NET রানটাইম কার্যকর করলে GAC'd সমাবেশটি লোড করবে।
— এরিক শুনোভার

11
এই উত্তরটি দ্বিতীয় বার আমার বাট সংরক্ষণ করেছে। আমি যদি আবার পারতাম তবে এটি দিয়ে দিয়েছি।
— বার্ড

17
(গাক। জোরে জোরে বলুন name নামের খুব
— শব্দই

131

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


এছাড়াও: আউটপুট ফোল্ডার সাফ করার চেষ্টা করুন। সম্ভবত, লাইব্রেরির নামকরণ একই সমস্যার কারণ হতে পারে, কারণ তাদের উভয়কেই (পুরানো এবং নতুন) একই আউটপুট ফোল্ডারে রাখা হবে।
— মনুশিন ইগর

আপনি যদি কোনও প্রকল্পটি কাটা + পেস্ট করেন এবং সমস্ত ক্ষেত্র সঠিকভাবে সম্পাদনা না করেন তবে এটি এই সমস্যার কারণ হতে পারে!
— মাইকেল পার্কার

1
এটিই ছিল আমার জন্য, আমি ইতিমধ্যে রেফারেন্সযুক্ত শ্রেণির পাঠাগারটিতে অ্যাসেমব্লিকে রেফারেন্স দিয়েছিলাম। আমাকে আমার ওয়েব প্রকল্পের ওয়েব কোডফাইগ ফাইলে যেতে হয়েছিল এবং কাজটি করার জন্য ন্যুগেটে প্যাকেজটি আনইনস্টল করার পরে <d dependantAssembly> রেফারেন্সটি সরিয়ে ফেলতে হয়েছিল।
— ইভান

16

আমার জন্য এর সমাধানটির উপরে উল্লিখিত হয়নি, তাই আমি ভেবেছিলাম যে আমি আমার উত্তরটি দীর্ঘ লেজের সাথে যুক্ত করব ...

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


1
কিছু খুব অনুরূপ ছিল, শুধুমাত্র পার্থক্য ছিল ডিএলএল এর ওয়েবকনফিগ রেফারেন্সটি এখনও বিন ডিরেক্টরিতে মোতায়েন করা হয়েছিল। এই বাইনারি পরিবর্তে একটি ভাগ করা ডিএলএল এর পুরানো সংস্করণ উল্লেখ করেছিল যা ব্যতিক্রম ঘটায়।
— সান্টোস

10

আমার একই সমস্যা ছিল এবং আমার কাছে এর নেমস্পেস বা প্রকল্পের নামকরণের কোনও সম্পর্ক ছিল না।

তবে বেশিরভাগ ব্যবহারকারী এটির ইঙ্গিত হিসাবে একটি পুরানো সমাবেশ এখনও উল্লেখ করা হয়েছে।

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


8

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

আমার সমাবেশটি জিএসি-তে রয়েছে, তাই এখানে তাত্ত্বিকভাবে সমাবেশের কেবল একটি সংস্করণ উপলব্ধ। আইআইএস ব্যতীত পুরাতন সংস্করণটি সহায়তা করে এবং আমাকে এই ত্রুটি দিচ্ছে। আমি সবেমাত্র জিএসি-তে এসেম্বলি পরিবর্তন করেছি, পুনর্নির্মাণ এবং পুনরায় ইনস্টল করেছি। একটি সম্ভাব্য সমাধান হ'ল ডাব্লু 3 ডাব্লু.পি.কে মেরে টাস্ক ম্যানেজার ব্যবহার করা । এটি আইআইএসকে জিএসি থেকে অ্যাসেমবিলিটি পুনরায় পড়তে বাধ্য করে: সমস্যা সমাধান হয়েছে।


3

সংস্করণ = 1.0.3.0 ক্যাসল আরসি 3 নির্দেশ করে, তবে সাবলীল ইন্টারফেসটি আরসি 3 প্রকাশের কয়েক মাস পরে বিকশিত হয়েছিল। অতএব, দেখে মনে হচ্ছে আপনার সংস্করণে সমস্যা রয়েছে। হতে পারে আপনি ক্যাসল আরসি 3 জিসিতে নিবন্ধভুক্ত করেছেন এবং এটি সেটিকে ব্যবহার করছে ...


আকর্ষণীয়, আমি এখানে সর্বশেষ বিল্ডটি পেয়েছি: builds.castleproject.org/cruise/DownloadBuild.castle?number=956 তারা তাদের ফোরামে এটিই সুপারিশ করেছিল। এছাড়াও যদি এমনটি হয় তবে আমি কল্পনা করি যে প্রকল্পটি মোটেই সংকলন করবে না। তবে এটি কোনও সমস্যা সংকলন করে
— জর্জ মাউয়ার

জিএসি-তে সংস্করণ থাকার কথাটি আমি সম্ভবত করব, তবে আমি জিএসি থেকে রেফারেন্স যোগ করিনি এবং রেফারেন্সের উপর প্রতিচ্ছবি ব্যবহার করে ইঙ্গিত দেয় যে এটিই আমি ভেবেছিলাম
— জর্জ মাউয়ার

জিএসি থেকে সদৃশ সমাবেশ সরিয়ে দেওয়ার চেষ্টা করুন, আমি এটাই হতে চাই যে আপনার সমস্যা।
— এরিক শুনোভার

3

আমি মাঝে মাঝে এটি পেয়েছি এবং জিএসি তে সমাবেশটি সর্বদা নেমে আসে


3

নাম স্থান পরিবর্তন করার কারণে যদি এই ত্রুটি ঘটে থাকে তবে সুরক্ষা করুন যে সেই প্রকল্পের ফোল্ডারটি একই নামে পুনরায় নামকরণ করা হয়েছে এবং ভিএস.নেট বন্ধ করুন প্রকল্পটি নোটপ্যাডে সমস্যা আছে এবং এটি নোডগুলি প্রতিস্থাপন করুন

"রুটনেমস্পেস> নতুন_নাম_অফ_ফোল্ডার_ও_আপনার_প্রজেক্ট_নামস্পেস" রুটনেমস্পেস> "অ্যাসেম্বলি নাম> নতুন_নাম_অফ_ফোল্ডার_ও_আপনার_প্রজেক্ট_নামস্পেস" সমাবেশ নাম>


3

Dll এর জন্য আমার .pdb ফাইলটি মোছা আমার পক্ষে এই সমস্যাটি সমাধান করেছে। আমি অনুমান করছি যে এটির সাথে কিছুটা সম্পর্কযুক্ত যা dL ILMerge ব্যবহার করে তৈরি করা হয়েছিল।


এটা আমার জন্য ছিল! আমি জানি না আইএলমার্জ কি তবে এপিকর আমার সমাবেশের পাশে পিডিবি ফাইলটি পছন্দ করতে পছন্দ করেন নি।
— MDave

কোনও আইএলমার্জ নয়, তবে সমস্ত পিডিবি ফাইল মুছে ফেলা বিষয়টি মুছে ফেলে।
— hogarth45

3

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

ফিউশন লগ ভিউয়ার / fuslogvw / সমাবেশ বাঁধাই লগ ভিউয়ার। আরও চেক করুন / এখানে ডাউনলোড করুন: http : //msdn.mic Microsoft.com/en-us/library/e74a18c4.aspx ।


ভিজুয়াল স্টুডিও ডিজাইনারের সাথে FUSLOGVW কাজ করার কোনও উপায় আছে কি? আমি যখন আমার একটি ডায়ালগ সম্পাদনা করার চেষ্টা করি তখন ভিজ্যুয়াল স্টুডিও ডিজাইনার একটি ব্যতিক্রম ছুঁড়ে দেয় ("পদ্ধতিটি খুঁজে পাওয়া যায় নি"), আমি জানি এমন একটি পদ্ধতির জন্য আমি উপস্থিত রয়েছি (অ্যাপটি ভাল চলছে)। আমি যতদূর দেখতে পাচ্ছি, ভিজুয়াল স্টুডিও ডিজাইনারের কোনও কিছু সম্পাদনা করার সময় FUSLOGVW তে কিছুই দেখা যায় না।
— জিমি

3

ক্লাসের নাম ফ্যাক্টর করার পরে আমার এই সমস্যাটি ছিল:
Could not load type 'Namspace.OldClassName' from assembly 'Assembly name...'.

আইআইএস বন্ধ করা এবং সামগ্রীগুলি মুছে ফেলা হচ্ছে Temporary ASP.NET Files আমার জন্য এটি স্থির।

আপনার প্রকল্পের উপর নির্ভর করে (32/64 বিট,। নেট সংস্করণ ইত্যাদি) সঠিক Temporary ASP.NET Filesপার্থক্য:

  • 64 বিট
    %systemroot%\Microsoft.NET\Framework64\{.netversion}\Temporary ASP.NET Files\
  • 32 বিট
    %systemroot%\Microsoft.NET\Framework\{.netversion}\Temporary ASP.NET Files\
  • আমার ডেভ মেশিনে এটি ছিল (কারণ এটির আইআইএস এক্সপ্রেস সম্ভবত?)
    %temp%\Temporary ASP.NET Files

3

সম্ভবত হিসাবে সম্ভবত না, তবে আমার জন্য এটি একই অ্যাপ্লিকেশন নামের (xxx.exe লোডিং xxx.dll) সহ একটি লাইব্রেরি লোড করার চেষ্টা করার কারণে আমার অ্যাপ্লিকেশনটি হয়েছিল।


2

কেবল অন্য কারণ নিয়ে এটি চালান:

রিলিজ মোডে ইউনিট পরীক্ষা চলমান তবে লাইব্রেরিটি লোড হচ্ছে ডিবাগ মোড সংস্করণ যা আপডেট হয়নি


2

তবুও আরেকটি সমাধান: ওল্ড ডিএলএল একে অপরের প্রতি নির্দেশ করছে এবং ভিজ্যুয়াল স্টুডিওতে ক্যাশে হয়েছে

C:\Users\[yourname]\AppData\Local\Microsoft\VisualStudio\10.0\ProjectAssemblies

ভিএস থেকে প্রস্থান করুন, এই ফোল্ডারটির সমস্ত কিছুই মুছুন এবং বব আপনার চাচা।


2

আমারো একই ইস্যু ছিল. আমি স্রেফ GAC এর মাধ্যমে সমাবেশটি আপডেট করে এটি সমাধান করেছি।

বিকাশ মেশিনে গ্যাকটিল ব্যবহার করতে এখানে যান: Start -> programs -> Microsoft Visual studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt (2010)।

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

gacutil /u myDLL

gacutil /i "C:\Program Files\Custom\mydllname.dll"

দ্রষ্টব্য: আমি আমার ক্ষেত্রে আমার dll আনইনস্টল করি নি আমি বর্তমান পথের সাথে সদ্য আপডেট করেছি ll


2

এই ত্রুটিটি পপ-আপ হয়েছে এমন অ্যাপ্লিকেশনটিতে সাধারণ কোনও রেফারেন্সের ভিন্ন সংস্করণের বিপরীতে নির্মিত একটি অ্যাসেমব্লিতে কোনও ধরণের (প্রতিবিম্বের মাধ্যমে) লোড করার চেষ্টা করার সময় আমি এই দৃশ্যে পৌঁছেছি।

যেহেতু আমি নিশ্চিত যে এসেম্বলির উভয় সংস্করণেই এই প্রকারটি অপরিবর্তিত রয়েছে আমি একটি কাস্টম অ্যাসেমবিলি রিসলভার তৈরি করে শেষ করেছি যা আমার অ্যাপ্লিকেশন ইতিমধ্যে লোড হয়েছে তার অনুপস্থিত সমাবেশকে মানচিত্র করে। সহজ উপায় হ'ল প্রোগ্রাম ক্লাসে একটি স্ট্যাটিক কনস্ট্রাক্টর যুক্ত করা:

using System.Reflection
static Program()
{
    AppDomain.CurrentDomain.AssemblyResolve += (sender, e) => {
        AssemblyName requestedName = new AssemblyName(e.Name);

        if (requestedName.Name == "<AssemblyName>")
        {
            // Load assembly from startup path
            return Assembly.LoadFile($"{Application.StartupPath}\\<AssemblyName>.dll");
        }
        else
        {
            return null;
        }
    };
}

অবশ্যই এটি অনুমান করে যে অ্যাসেম্বলিটি অ্যাপ্লিকেশনটির প্রারম্ভিক পথে অবস্থিত এবং সহজেই তা গ্রহণযোগ্য।


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

2

কেবল অন্য কারণ নিয়ে এটি চালান:

আমি আইএলআরপ্যাক দিয়ে তৈরি একটি মার্জড অ্যাসেম্বলি ব্যবহার করছিলাম। আপনি যে সমাবেশ থেকে প্রকারগুলি জিজ্ঞাসা করছেন সেগুলি অবশ্যই ILRepack এ প্রথম পাস হওয়া উচিত বা এর প্রকারগুলি উপলভ্য হবে না।


1

আপনি * .config এ বাঁধাই পুনঃনির্দেশের সাহায্যে এটি সমাধান করতে সক্ষম হতে পারেন। http://blogs.msdn.com/b/dougste/archive/2006/09/05/741329.aspx নতুন ফ্রেমওয়ার্কগুলিতে পুরানো। নেট উপাদানগুলি ব্যবহার করার চারপাশে একটি ভাল আলোচনা হয়েছে। http://msdn.microsoft.com/en-us/library/eftw1fys(vs.71).aspx


1

এটি সাধারণত তখন ঘটে যখন আপনার জিএসিতে আপনার সমাবেশের একটি সংস্করণ মোতায়েন থাকলেও আপনার আইডিইতে অ্যাসেম্বলিতে আপনার যুক্ত হওয়া নতুন ক্লাসগুলির সাথে আপডেট করা হয়নি। অতএব নিশ্চিত হয়ে নিন যে জিএসি-তে সমাবেশটি আপনার প্রকল্পে করা পরিবর্তনগুলির সাথে আপডেট হয়েছে।

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


1

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

যাইহোক আমি dll A আপডেট করেছি এবং অন্য একটি রেফারেন্সড থেকে ত্রুটি পেয়েছি dll আসুন এটি এখানে বি কল করুন যেখানে dll A এর সাথে একটি dll বি রেফারেন্স রয়েছে

Dll বি আপডেট করার ফলে সমস্যা সমাধান হয়েছে।


1

আপনার ডিএলএলকে জিএসি-তে যুক্ত করা হচ্ছে (গ্লোবাল অ্যাসেম্বলি ক্যাশে)

ভিজ্যুয়াল স্টুডিও কমান্ড প্রম্পট => অ্যাডমিনিস্ট্রেটর হিসাবে চালান

gacutil / i "dll ফাইল পাথ"

আপনি যুক্ত সমাবেশ সি দেখতে পারেন: \ উইন্ডোজ \ system32 \

এটি এসএসআইএস স্ক্রিপ্ট টাস্কে ডেল অনুপস্থিত বা "ফাইল বা অ্যাসেম্বলি লোড করা যায়নি" সমাধান করবে solve


1
আমি লক্ষ করব যে জিএসি-তে জিনিস যুক্ত করা সাধারণত একটি খারাপ ধারণা, স্থাপনাকে আরও শক্ত করে তোলা এবং সাধারণত এমন একটি জিনিস যা মাইক্রোসফ্টও এ থেকে দূরে সরে যায়।
— জর্জ মাউয়ার 20'15

1

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

  1. সলিউশনে লোকাল.স্টেস্টেটিং ফাইলটি খুলুন
  2. "ইউনিট পরীক্ষা" সেটিংসে যান
  3. "পরীক্ষা ডিরেক্টরিতে সমাবেশগুলির জন্য লোড প্রসঙ্গটি ব্যবহার করুন" টিচুন। চেকবক্সটি

এই পদক্ষেপগুলি নেওয়ার পরে সমস্ত ইউনিট পরীক্ষা চালানোর সময় পাস করা শুরু হয়েছিল passing


1

সমাধানে অ্যাসেমব্লিতে স্বাক্ষর করার পরে আমি উপরের মতো একই অভিজ্ঞতা পেয়েছি। প্রকল্পগুলি নির্মাণ করবে না।

আমি দেখতে পেয়েছি যে প্রকল্পগুলির মধ্যে একটি স্ট্রংনামার নুগেট প্যাকেজটি রেফারেন্স করেছে, যা বিল্ড প্রক্রিয়াটি পরিবর্তন করে এবং স্বাক্ষরবিহীন নুগেট প্যাকেজগুলিতে স্বাক্ষর করার চেষ্টা করে।

স্ট্রংনামার প্যাকেজটি সরিয়ে দেওয়ার পরে আমি অ্যাসেমব্লিতে স্বাক্ষর / শক্ত-নামকরণ না করেই আবার প্রকল্পটি তৈরি করতে সক্ষম হয়েছি।


-2

আমি কেবল কমান্ড প্রম্পট ব্যবহার করে আইস্রেসেট কমান্ডটি চালিয়ে সমাধান করেছি ... সর্বদা প্রথম জিনিসটি যখন আমি করি যখন আমি ত্রুটিগুলি পাই।


4
আমি দুঃখিত তবে এই প্রশ্নের সাথে এর কোন যোগসূত্র নেই, আইআইএস ব্যবহার সম্পর্কে অনুমান করা যায় এবং সমস্যাটির কারণ কী হচ্ছে তা ব্যাখ্যা করে না।
— জর্জ মাউয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.