। নেট বাছাই করা ভুল রেফারেন্সড অ্যাসেম্বলি সংস্করণ


141

এটির বিকাশ শুরু করার জন্য আমি কেবলমাত্র একটি বিদ্যমান প্রকল্পটি অনুলিপি তৈরি করে একটি নতুন মেশিনে অনুলিপি করেছি এবং আমার রেফারেন্সড অ্যাসেমব্লিজগুলির একটির সংস্করণ (এটি ঘটে যাওয়ার সাথে সাথে একটি টেলিগ্রাফিক ডিএলএল) নিয়ে সমস্যা হয়েছে।

প্রকল্পটি মূলত সমাবেশের একটি পুরানো সংস্করণ রেফারেন্স করেছে (এটি v1.0.0.0 হিসাবে কল করতে দেয়)। আমার নতুন মেশিনে অ্যাসেমব্লির সর্বশেষতম সংস্করণ ইনস্টল আছে, তাই আমি ভেবেছিলাম যে আমি এটি আপডেট করেছি (আসুন নতুন সংস্করণকে v2.0.0.0 কল করতে পারি)।

এখন এখানে সমস্যাটি রয়েছে: আমি যদি প্রজেক্টের ফোল্ডারে পুরানো v1.0.0.0 dll অনুলিপি করে এবং এটি একটি রেফারেন্স হিসাবে যুক্ত করি তবে কোনও সমস্যা ছাড়াই ওয়েব সাইট লঞ্চ করে। যদি আমি সেই উল্লেখটি মুছুন (এবং আমার সিস্টেম থেকে পুরানো ডিএলএলও মুছুন) এবং নতুন সংস্করণ (v2.0.0.0) যুক্ত করুন, পৃষ্ঠাটি নিম্নলিখিত ব্যতিক্রমগুলি দেখায়:

ফাইল বা সমাবেশ 'এক্সএক্সএক্সএক্সএক্সএক্স, সংস্করণ = 1.0.0.0, সংস্কৃতি = নিরপেক্ষ, পাবলিককি টোকেন = 121fae78165ba3d4' বা এর অন্যতম নির্ভরতা লোড করা যায়নি। অবস্থিত সমাবেশের প্রকাশ্য সংজ্ঞাটি সমাবেশের রেফারেন্সের সাথে মেলে না। (এইচআরসিলেট থেকে ব্যতিক্রম: 0x80131040)

স্পষ্টতই, কোডটি পুরানো সংস্করণের সন্ধান করছে এবং এটি খুঁজে পাচ্ছে না। কিন্তু কেন?

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

তারপরে আমি কেন সেই পুরানো সংস্করণটি খুঁজছি তা জানার চেষ্টা করার জন্য ফিউশন লগ ভিউয়ারটিকে সক্ষম করেছিলাম, তবে ভাগ্য নেই:

Assembly Load Trace: The following information can be helpful to determine why the assembly 'XXXXXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=121fae78165ba3d4' could not be loaded.


=== Pre-bind state information ===
LOG: User = MyComp\me
LOG: DisplayName = XXXXXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=121fae78165ba3d4
 (Fully-specified)
LOG: Appbase = file:///d:/My Documents/Visual Studio 2010/Projects/CoolProj/WebApp/
LOG: Initial PrivatePath = d:\My Documents\Visual Studio 2010\Projects\CoolProj\WebApp\bin
Calling assembly : WebApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: d:\My Documents\Visual Studio 2010\Projects\CoolProj\WebApp\web.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: XXXXXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=121fae78165ba3d4
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/90233b18/10d54998/XXXXXX.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/90233b18/10d54998/XXXXXX/XXXXXX.DLL.
LOG: Attempting download of new URL file:///d:/My Documents/Visual Studio 2010/Projects/CoolProj/WebApp/bin/XXXXXX.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

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

আমার পুরানো সংস্করণটি কেন খুঁজছে? এই খারাপ রেফারেন্সটি খুঁজতে আমি আর কোথা থেকে অনুসন্ধান করতে পারি?

উত্তর:


151

আমার অনুমান যে আপনি যে অন্য সমাবেশটি ব্যবহার করছেন তা পুরানো dll উল্লেখ করছে। অন্যান্য প্রকল্পের রেফারেন্স ব্যবহার করা হচ্ছে এমন কি আপনি কি তার সাথে পরিচিত এবং এর মধ্যে কারও কাছে টেলিরিক ঘরের উল্লেখ রয়েছে?

আপনি কি এইভাবে আপনার ওয়েবকনফাইগ ফাইলটিতে একটি বাধ্যতামূলক পুনর্নির্দেশ স্থাপন করতে পারেন?

<dependentAssembly>
 <assemblyIdentity name="Telerik" publicKeyToken="121fae78165ba3d4"/>
 <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>

12
আমি বিভিন্ন সংস্করণ লোড / লোড হচ্ছে না এর সাথে এর মত সমস্ত ধরণের সমস্যা পেয়েছি। আপনি চেষ্টা করতে পারেন এমন অন্য কৌশলটি হ'ল ম্যানুয়ালি আপনার সি: / উইন্ডোস / মাইক্রোসফট. নেট / ফ্রেমওয়ার্ক / ভি 4.0.30319/ সাময়িক এএসপি.নেট ফাইল / রুট / 90233b18 / 10d54998 ফোল্ডারের সমস্ত ফাইল মুছে ফেলা। কখনও কখনও ওয়েব সাইটগুলি পুনরায় কম্পাইল করার সময়, কিছু ফাইল লক থাকায় এএসপি.নেট সেই ফোল্ডারটি সাফ করে না এবং সেই ডেলগুলি পুরানো রেফারেন্সগুলিতে ঝুলতে পারে। এটি একটি শট মূল্য, আমি জানি অতীতে এটি আমার জন্য কাজ করেছে।
ক্রিস কনওয়ে

1
আপনি আমার জন্য একটি সম্পর্কিত সমস্যা সমাধান করেছেন - ধন্যবাদ! আমার সি # অ্যাপ্লিকেশনটিতে উত্তরাধিকার সূত্রে প্রাপ্ত ফর্মটি ডিজাইনারে খুলবে না কারণ এটি একটি উল্লেখের পুরানো সংস্করণ সন্ধান করছে। সমস্যার রেফারেন্সের সেই পুরানো সংস্করণটি উল্লেখ করার সময় অন্য একটি রেফারেন্সটি মূলত নির্মিত হয়েছিল।
স্যাম স্কুস

2
আপনি যদি সিনট্যাক্সটি নিয়ে ঘুরে বেড়াচ্ছেন: এমএসডিএন.মাইক্রোসফটকম /en-us/library/0ash1ksb.aspx
জুনিয়র মেহে

1
ধন্যবাদ ক্রিস! আপনি আমার সমস্যাটি এখানে সমাধান করেছেন: stackoverflow.com/q/11490177/7850
শৌল বহর

3
আপনি আপনার অ্যাপকনফাইগ বা ওয়েবকনফিগের মধ্যেও দেখতে পারেন এবং বিদ্যমান <dependentAssembly>এন্ট্রিগুলি সমস্যা সৃষ্টি করছে কিনা তাও দেখতে পারেন ।
রায় টিঙ্কার

24

আমি এটির সাথে ক্রিস কনওয়ের সাথে রয়েছি (তাকে উত্সাহিত করে) সমস্যাটি হ'ল আপনি নিজের প্রকল্পের একটি টেলিগ্রিক অ্যাসেমব্লিকে উল্লেখ করছেন যা অন্যটি উল্লেখ করে যা সেখানে নেই।

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

দ্বিতীয়ত, আপনার প্রতিটি .proj ফাইলগুলিতে (.csproj এর মতো) একটি হতে চলেছে <reference include..> যা টেলিরিক.ওয়েব.ইউআই ফাইলের দিকে নির্দেশ করে। এটিতে একটি সংস্করণ নম্বর থাকে। নিশ্চিত করুন যে আপনি যে বিন্যাস ফোল্ডারে রেখেছেন সেটি সেই সংস্করণটির সাথে মেলে।

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

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

পঞ্চম, আপনি ওয়েবকনফাইগের অ্যাসেম্বলির জন্য সংস্করণ নম্বরগুলি পুনরায় ফিরিয়ে দিতে পারেন। ইন runtime/assemblybindingঅধ্যায় আপনাকে নিম্নলিখিত যা সমাবেশ 2008 এগিয়ে এবং এটি পয়েন্ট একটি খুব বিশেষ সংস্করণ করার জন্য মোতায়েন প্রত্যেক telerik লাগে ভালো কিছু ব্যবহার করতে পারেন:

  <dependentAssembly>
    <assemblyIdentity name="Telerik.Web.UI" publicKeyToken="121fae78165ba3d4" />
    <bindingRedirect oldVersion="2008.0.0.0-2020.0.0.0" newVersion="2010.02.0713.35" />
  </dependentAssembly>

2
আমি "অনুভব" বলতে চাইছিলাম, এটি এখন কয়েক মাস ধরে আমাকে বিরক্ত করছে :)
মাইকেল লা ভোই

21

আমি বেশিরভাগ উত্তর চেষ্টা করেছিলাম কিন্তু এখনও এটি কাজ করতে পারি নি। এটি আমার পক্ষে কাজ করেছে:

রেফারেন্স -> বৈশিষ্ট্য -> 'নির্দিষ্ট সংস্করণ' মিথ্যাতে পরিবর্তন করতে ডান ক্লিক করুন

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

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


30
+1 এর অর্থ ভোট দেওয়া।
xr280xr

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

7

চেষ্টা করুন:

  • অস্থায়ী প্রকল্পের ফাইলগুলি পরিষ্কার করা হচ্ছে
  • বিল্ড এবং আপত্তি ফাইল পরিষ্কার
  • পুরানো সংস্করণ ইনস্টল করা C:\Users\USERNAME\.nuget\packages\

এটা আমার জন্য কাজ করেছে।


1
সি: \ ব্যবহারকারীদের \ USERNAME \। ন্যাজেট \ প্যাকেজ \ ডিরেক্টরিটি পরিষ্কার করা যা আমি অনুপস্থিত ছিল। অনেক ধন্যবাদ!
হার্দো

পুরানো নুগেট সংস্করণটির জন্য, উইন্ডোজ ভিত্তিক কম্পিউটারে, কাকাক শুরু করুন এবং "চালান"> "% ব্যবহারকারী প্রোফাইলে% -। ন্যুগেট \ প্যাকেজগুলি" অনুলিপি করুন এবং পেস্ট করুন - এটি নুগেট সংস্করণ ফোল্ডারটি খুলবে
E.Meir

3
  1. সি যান: \ উইন্ডোজ \ মাইক্রোসফট. নেট \ ফ্রেমওয়ার্ক \ v2.0.50727 ON কনফিগ
  2. Machine.config ফাইলটি সন্ধান করুন
  3. নোটপ্যাডে খুলুন
  4. দ্বন্দ্ব খুঁজে পেতে
  5. এটি সরান এবং সংরক্ষণ করুন।

সংকলন সমাবেশ

সংযোজন = dllName, সংস্করণ = 1.0.0000.0000 সংস্কৃতি = নিরপেক্ষ, পাবলিককি টোকেন = "কিউউউইউউকিউরউইটরি"

সমাবেশগুলি সংকলন

আমার জন্য কাজ কর.


2
আমি এই দুঃস্বপ্নটিও আবিষ্কার করেছিলাম - এমনকি আপনি জিএসি থেকে সমাবেশ সরিয়ে ফেললেও এটি "সি: \ উইন্ডোজ \ মাইক্রোসফ্ট.নেট \ ফ্রেমওয়ার্ক \ v2.0.50727 \ কনফিগ \
মেশিনকনফিগ

3

এটি কেন এই বিষয়ে একটি সুস্পষ্ট উত্তর নয়, তবে আমাদের এই সমস্যাটি ছিল, আমাদের পরিস্থিতি এখানে এবং এটি কী সমাধান করেছে:

দেব 1:

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

দেব 2:

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

কেন এটি কাজ করেছে সে সম্পর্কে আমার কোনও ব্যাখ্যা নেই, তবে এটি আমাদেরকে মারাত্মক ঝুঁকির হাত থেকে মুক্ত করেছিল।


2

সেই সমাধানে আপনার কি অন্য কোনও প্রকল্প রয়েছে? (অন্য কোনও প্রকল্প হতে পারে কোনও পুরানো সংস্করণ উল্লেখ করা যেতে পারে) সাধারণত ভিএস-তে, dll নির্ভরতা সমাধানের সমস্ত প্রকল্পগুলিকে বিস্তৃত করে।


সমাধানে অন্য কোনও প্রকল্প এবং কোনও রেফারেন্সড ডিএলএল নেই যা রেফারেন্স টেলিরিক। আমি কেবল এমএস ডিএলএলস আলা সিস্টেমকেই রেফারেন্স করছি * *
মাইকেল লা ভোই

2

আমার সমস্যাটি হ'ল পুরাতন সমাবেশগুলি ওয়েব অ্যাপ্লিকেশনের অধীনে _বিন_ডেপ্লোয়েবল অ্যাসেমসিলস ফোল্ডারে ছিল। এর অর্থ প্রকল্পটি তৈরির সময় পুরানো সমাবেশগুলি জিএসি অ্যাসেম্বলিকে ওভাররাইট করে।


2

ক্ষেত্রে অন্য কাউকে 3 ঘন্টা বাঁচায় ... আমার ক্ষেত্রে কিছুটা আলাদা ছিল। আমার কোড ডেভ এক্সপ্রেস v11.1 v11.1.4.0 ব্যবহার করেছে। আমার কোডে এটি সমস্ত সঠিকভাবে উল্লেখ করা হয়েছিল। কিন্তু। নেট মেমরির প্রোফাইলার জিএসি তে ডেভএক্সপ্রেস v11.1 v11.1.12.0 ইনস্টল করেছে। আসলে এটি যে উপাদানগুলি আমি উল্লেখ করেছি তা নয় তবে তারা অভ্যন্তরীণভাবে উল্লেখ করেছে যা ব্যর্থ হয়েছিল। আমার যতটা সম্ভব চেষ্টা করুন, জিএসি সর্বদা প্রথমে চেক করা হয়। এটি সংকলিত হয়ে সূক্ষ্মভাবে চলেছিল তবে আমি জয়ের ফর্ম ডিজাইনারকে দেখতে পেলাম না এবং স্ট্যাক ট্রেসটি কোনওভাবেই সাহায্যকারী ছিল না। অবশেষে। নেট মেমরি প্রোফাইলার আনইনস্টল করা হয়েছে এবং সমস্ত পুনরুদ্ধার করা হয়েছে।


2

আমারও অনুরূপ সমস্যা ছিল এবং আমার ইস্যুটি পেরিয়ে যাওয়ার জন্য আমাকে বিন এবং আপত্তি ফোল্ডার থেকে সমস্ত কিছু মুছতে হবে এবং পুনর্নির্মাণ করতে হয়েছিল। আশাকরি এটা সাহায্য করবে.


1

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


1

নিউটোনসফট.জসনের বিভিন্ন সংস্করণ উল্লেখ করে বিভিন্ন অ্যাসেম্বলিগুলিতে আমার একই সমস্যা ছিল। আমার জন্য যে সমাধানটি কাজ করেছিল তা হ'ল নুগেট প্যাকেজ ম্যানেজার কনসোল থেকে আপডেট-প্যাকেজ চলছে।


1

এই ত্রুটিটি কিছুটা বিভ্রান্তিকর ছিল - আমি এমন কিছু ডিএলএল লোড করছিলাম যার জন্য x64 আর্কিটেকচার নির্দিষ্ট করা দরকার। ইন .csprojফাইল:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-ABC|AnyCPU'">
    <OutputPath>bin\Release-ABC</OutputPath>
    <PlatformTarget>x64</PlatformTarget>
</PropertyGroup>

একটি অনুপস্থিত PlatformTarget কারণে এই ত্রুটি ঘটেছে।


1

আমি পাচ্ছিলাম:

ফাইল বা সমাবেশ 'XXX-new-3.3.0.0' বা এর অন্যতম নির্ভরতা লোড করা যায়নি। অবস্থিত সমাবেশের প্রকাশ্য সংজ্ঞাটি সমাবেশের রেফারেন্সের সাথে মেলে না। (এইচআরসিলেট থেকে ব্যতিক্রম: 0x80131040)

মনে হচ্ছিল কারণ আমি থেকে সমাবেশ নাম পরিবর্তন XXX.dllকরতে XXX-new-3.3.0.0.dll। নামটিকে মূলটিতে ফিরিয়ে দেওয়া ত্রুটিটিকে স্থির করে।


হ্যাঁ - উত্স নিয়ন্ত্রণে ইস্যু নামকরণ এড়াতে আমাদের সাধারণ সমাবেশ গ্রন্থাগারে নামটিতে একটি সংস্করণ অন্তর্ভুক্ত করা হয়েছে। নামটি পরিবর্তিত করে রেফারেন্স / ইঙ্গিতের পাথগুলি ম্যানুয়ালি আপডেট করে এবং এটি সব কাজ করে।
ম্যাথিউ প্যাক্সিনোস

0

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


0

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

সুতরাং যাচাই করার জন্য প্রথম জিনিসটি হ'ল অ্যাপ্লিকেশনটির ফোল্ডারে রেফারেন্সড ডিএলএল সংস্করণ। শুধু ক্ষেত্রে।


0

হতে পারে এটি সাহায্য করে বা নাও পারে। আমি আমার ডিবাগটি প্রকাশ করেছি এবং সংস্করণগুলি প্রকাশ করেছি তারপরে আমি ওবিজে ফোল্ডারটির নামকরণ করেছি। এটি অবশেষে আমাকে তীব্র করে তুলেছে। পূর্ববর্তী পদক্ষেপগুলি মূলত প্রকল্প সরিয়ে রেফারেন্সগুলি ছিল এবং সেগুলি তাদের প্রকল্পের বৈশিষ্ট্যে আবার যুক্ত করে।


0

আমার ভিজ্যুয়াল স্টুডিও 2015-এ, আমি নিশ্চিত করেছি যে আপত্তিকর স্টুডিও প্রকল্পের রেফারেন্স পাথের তালিকাটি খালি রয়েছে:

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


আপনি 2 টি ভিন্ন প্রশ্নের সঠিক একই উত্তর পোস্ট করেছেন?
একে 47

0

এটিই আমার পক্ষে কাজ করেছে:

আমি Microsoft.IdentityModel.Clients.ActiveDirectoryএকটি ক্লাস লাইব্রেরি প্রকল্পে 3.19 সংস্করণটি ব্যবহার করছিলাম তবে প্রকৃত এএসপি.নেট ওয়েব অ্যাপ্লিকেশন প্রকল্পে কেবলমাত্র 2.22 সংস্করণ ইনস্টল করা আছে। ওয়েব অ্যাপ্লিকেশন প্রকল্পে 3.19 এ আপগ্রেড করা আমার ত্রুটিটি পেরিয়ে গেছে।


0

আমার ক্ষেত্রে আমার কাছে 3 টি প্রকল্প, 1 টি মূল প্রকল্প এবং 2 টি প্রকল্প রয়েছে যা মূল প্রকল্প দ্বারা রেফারেন্স করা হয়েছে .. সুতরাং আমি মূল প্রকল্পটি আপডেট করে সাব-প্রকল্পটি রেখে চলেছি। এখানেই দ্বন্দ্ব ছিল। আমি আমার সমস্ত প্রকল্প আপডেট করার পরে সবকিছু ঠিকঠাক কাজ করেছে।


0

ভিএস ২০১7-তে, উপরোক্ত সমস্ত সমাধান চেষ্টা করেছেন কিন্তু কিছুই কার্যকর হয় না। আমরা সংস্করণের জন্য অ্যাজুরে ডিভোপ ব্যবহার করছি।

  1. দলগুলি থেকে এক্সপ্লোরার> সোর্স কন্ট্রোল এক্সপ্লোরার

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

  1. এমন প্রকল্প নির্বাচন করুন যা আপনাকে দীর্ঘদিন ধরে বাদ দেয়

  2. শাখায় ডান ক্লিক করুন বা সমাধান> উন্নত> নির্দিষ্ট সংস্করণ পান

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

  1. তারপরে নিশ্চিত হয়ে নিন যে আপনি স্ক্রিনশট অনুসারে ওভাররাইট ফাইলগুলির চেকবক্সটি টিক করেছেন

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


0

আমার ক্ষেত্রে, আমি ঘটনাক্রমে নুগেট থেকে টেলিক প্যাকেজের ভুল সংস্করণটি বেছে নিয়েছিলাম, যা নুগেট এর পরে আমি যে সংস্করণটি ভুল সংস্করণের সাথে উল্লেখ করেছি তা প্রতিস্থাপন করে package এরপরে এটি একটি বাধ্যতামূলক পুনর্নির্দেশকে ভুল সংস্করণে প্রবেশ করিয়েছে যাতে আমি সবকিছুকে সঠিক সংস্করণে প্রতিস্থাপন করার পরেও এটি এখনও ভুল সংস্করণটির সন্ধান করে।

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