ভিজ্যুয়াল স্টুডিও 2017 - ফাইল বা সমাবেশ 'সিস্টেম.রুনটাইম, সংস্করণ = 4.1.0.0' বা এর অন্যতম নির্ভরতা লোড করা যায়নি


108

আমি ভিজ্যুয়াল স্টুডিও 2017 ব্যবহার করছি এবং একটি। নেট স্ট্যান্ডার্ড 1.5 গ্রন্থাগার তৈরি করার চেষ্টা করছি এবং এটি নেট নেট 4.6.2 এন পরীক্ষার প্রকল্পে ব্যবহার করব।

আমি নিম্নলিখিত ত্রুটি পাচ্ছি ...

ফাইল বা সমাবেশ 'সিস্টেম.রুনটাইম, সংস্করণ = 4.1.0.0, সংস্কৃতি = নিরপেক্ষ, পাবলিক্যকিটোকেন = b03f5f7f11d50a3a' বা এর অন্যতম নির্ভরতা লোড করা যায়নি। সিস্টেম নির্দিষ্ট ফাইল খুঁজে পাচ্ছি না.

আমি নিম্নলিখিত চেষ্টা করেছি:

  1. প্রকল্প রেফারেন্স হিসাবে স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স। ত্রুটি: আমাকে পূর্ববর্তী ত্রুটি দেয়।
  2. আমার স্ট্যান্ড লাইব্রেরির জন্য একটি নিউগেট পিকেজি তৈরি করুন এবং এটি উল্লেখ করুন। ত্রুটি: প্রকারটি System.String, প্রত্যাশা করে System.String। এটি কারণ, সিস্টেম.রুনটাইম প্রকল্প দ্বারা রেফারেন্স পাওয়া শেষ হয়েছিল এবং এতে সমস্ত স্ট্যান্ডার্ড ধরণের সংজ্ঞা রয়েছে।
  3. রেফারেন্স নুগেট পিকেজি নেট স্ট্যান্ডার্ড ib লাইব্রেরি। ত্রুটি: আমাকে # এর মতো একই ত্রুটি দিন ("টাইপটি সিস্টেম। স্ট্রিং, সিস্টেম.স্ট্রিংয়ের প্রত্যাশা")। দ্রষ্টব্য: আমি এটি করার আগে, আমি প্রকল্পটি থেকে সমস্ত নুগেট প্যাকেজগুলি সাফ করেছি এবং তারপরে কেবল nUnit এবং নেটস্ট্যান্ডার্ড। লাইব্রেরি প্যাকেজগুলি (যা অন্যান্য 45 টি প্যাকেজ ইনস্টল করেছে) যুক্ত করেছি।

এটি কি বাগ? এখানে কি কাজ আছে? কোন সাহায্য প্রশংসা করা হয়।

উত্তর:


95

আমার একই সমস্যা ছিল এবং আমার কোন প্রস্তাবিত সমাধানের সমাধান হয়নি যা আমি কাজ করেছি। এই সমস্যাটির জন্য আমার সমাধানটি ছিল: সংস্করণগুলি মেলে কিনা তা দেখতে App.config এবং প্যাকেজস কোডফিগ পরীক্ষা করুন ig

মূলত আমার app.config এর মধ্যে রয়েছে:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>

তবে প্যাকেজস কনফিগের মধ্যে রয়েছে:

<package id="System.Runtime" version="4.3.0" targetFramework="net461" requireReinstallation="true" />

আমি নতুন সংস্করণের জন্য প্যাকেজগুলি.কনফিগের সাথে মেলে অ্যাপকনফাইগ এন্ট্রিটি পরিবর্তন করেছি:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.3.0" />
</dependentAssembly>

পরিবর্তনের পরে, বিষয়টি সমাধান করা হয়েছিল।


অথবা কেবলমাত্র আপনার ওয়েবকনফিগের রেফারেন্স যুক্ত করুন: stackoverflow.com/a/38603514/1145177
ডগ এস

8
আমি নিউগেট থেকে "৪.৩.০" টানলাম কিন্তু কোনও কারণে ভিএস জোর দিয়ে বলেছে যে আমি "৪.১.২.০" রেফারেন্স করি, একই ধরণের কাজটি আমার জন্য কেবল ভিন্ন সংস্করণ সংখ্যার জন্য কাজ করেছিল ...
ডেভিড রজার্স

আমার এমএসটিস্ট প্রকল্পে @ ডেভিডরগার্সের মতো একই সমস্যা ছিল। App.config এবং প্যাকেজস কোডফাইগের মধ্যে পার্থক্য একত্রিত করা সমস্যার সমাধান করেছে।
আটকে দিন

হ্যাঁ ধন্যবাদ একটি গুচ্ছ ! এটি আমার এমএসটিস্টের পরীক্ষা না খোঁজার সমাধান ছিল [MSTest][Discovery] Failed to discover tests from assembly Reason:Could not load file or assembly 'System.Reflection, Version=4.1.1.0 etc
ড্যান এম

সমাধান আমার জন্য কাজ করে। এইচটিএমএলিলিটিপ্যাক NUGET ইনস্টল করার পরে সমস্যা শুরু হয়েছে। এবং প্যাকেজগুলিতে ভুল সংস্করণ তথ্যের কারণে চলবে না। +1
রবার্তো

36

এই সমস্যাটি ঘটে যখন আপনি .NET 4.x প্রকল্প থেকে একটি নেট স্ট্যান্ডার্ড প্রকল্পটি উল্লেখ করেন:। নেট স্ট্যান্ডার্ড প্রকল্পের নুগেট প্যাকেজ রেফারেন্সগুলির মধ্যে কোনওটি নির্ভরতা হিসাবে আনা হয় না।

এটি ঠিক করার জন্য, আপনার নিজের নেট নেট 4.x সিএসপ্রোজ ফাইলটি বর্তমান বিল্ড সরঞ্জামগুলিতে নির্দেশ করা হচ্ছে (কমপক্ষে 14):

<Project ToolsVersion="15.0">...

নীচের আর আর প্রয়োজন হবে না, এটি VS 15.3 এর আশেপাশে স্থির করা হয়েছিল:

ভিএস ২০১7- তে একটি বিশেষ বাগ ছিল , বিশেষত নুগেট 4.0.০ এ।

বাগটি চারপাশে কাজ করার জন্য আপনাকে আপনার .NET 4.x প্রকল্পের জন্য .csproj ফাইলটি খুলতে হবে এবং এই স্নিপেটটি যুক্ত করতে হবে:

<ItemGroup>
  <PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0">
    <PrivateAssets>All</PrivateAssets>
  </PackageReference>
</ItemGroup>

নুগেট 4.x "প্যাকেজ রেফারেন্স" এনেছে - আর প্যাকেজস কনফিগ নেই - তবে ভিএস2017 আরম্ভের সময় পুরাতন 4.x পাইপলাইনটি সম্পূর্ণ আপডেট হয়নি updated উপরের স্নিপেটটি নির্ভরতা থেকে প্যাকেজ উল্লেখগুলি সঠিকভাবে অন্তর্ভুক্ত করতে বিল্ড সিস্টেমটিকে "জাগ্রত" করবে বলে মনে হচ্ছে।


ভিজ্যুয়াল স্টুডিও 17 এর কোন আপডেট? আপনি সংস্করণ নির্দিষ্ট করতে পারেন?
রোনাক অগ্রওয়াল

11
15.5.5 ভিএস2017 এ আমার এখনও সমস্যা আছে। দেখে মনে হচ্ছে অন্য কারণ রয়েছে।
সার্জ

প্রশ্ন: আপনার .NET 4.x প্রকল্পটি প্যাকেজ রেফারেন্সগুলি ব্যবহার করছে, বা এটি এখনও প্যাকেজস কনফিগ ব্যবহার করছে? আমি ভাবছি যে এটি আমার জন্য স্থির হওয়ার কারণটি হ'ল আমি প্যাকেজগুলি কনফিগ থেকে মুক্তি পেয়েছি।
কোরি নেলসন

4
এটি লক্ষণীয় যে ভিজ্যুয়াল স্টুডিও 2017 সংস্করণ 15.7 এবং পরে প্যাকেজস কনফিগ পরিচালন ফর্ম্যাট থেকে প্যাকেজ-রেফারেন্স ফর্ম্যাটে কোনও প্রকল্প স্থানান্তরিত করে। ডকস.মাইক্রোসফট.এইন
প্রশান্ত টার্ন

আপনার লিঙ্ক থেকে @ ট্র্যাঙ্কিল্টরন: "সি ++ এবং এএসপি.এনইটি প্রকল্পের জন্য মাইগ্রেশন বর্তমানে উপলভ্য নয়।"
জেপি হেলিমন্স

35

আমি সম্প্রতি এই সমস্যাটির মুখোমুখি হয়েছি এবং আমি এই থ্রেড এবং অন্যদের মধ্যে উল্লিখিত অনেকগুলি বিষয় চেষ্টা করেছি। আমি "System.Runtime"ন্যুগেট প্যাকেজ ম্যানেজার দ্বারা প্যাকেজ রেফারেন্স যুক্ত করেছি , বাইন্ডিং রেডিক্টগুলি ঠিক করেছি app.configএবং তা নিশ্চিত করেছি app.configএবং package.configসমাবেশের জন্য একই সংস্করণ রয়েছে। তবে, সমস্যাটি অব্যাহত ছিল।

অবশেষে, আমি <dependentAssembly>সমাবেশের জন্য ট্যাগটি সরিয়ে ফেললাম এবং সমস্যাটি অদৃশ্য হয়ে গেল। সুতরাং, আপনার নিম্নলিখিতটি মুছে ফেলার চেষ্টা করুন app.config

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.1.0" />
</dependentAssembly>

সম্পাদনা করুন: আমি .NET ফ্রেমওয়ার্কটি 4.7.2 এ আপডেট করার পরে, সমস্যাটি আবার উত্থিত হয়েছিল। আমি উপরের কৌশলটি চেষ্টা করেছিলাম কিন্তু এটি কার্যকর হয়নি। অনেক ঘন্টা নষ্ট করার পরে, আমি বুঝতে পারি যে System.Linqঅ্যাপ্লিকেশন কনফিগের কোনও পুরানো রেফারেন্সের কারণে সমস্যা হচ্ছে is সুতরাং, হয় এই সমস্যা থেকে মুক্তি পেতে সমস্ত লিনক রেফারেন্স অপসারণ বা আপডেট করুন।


4
আমি যখনই ওপি দ্বারা নির্দিষ্ট করা সমস্যাটিতে চলে যাই তখনই আমি সিস্টেমটি মুছে ফেলি। আমি আপনার সাথে একমত যে এটি একটি সম্ভাব্য বৈধ সমাধান। আমি যখন নুগেট থেকে প্যাকেজ যুক্ত করি তখন এটি আমার সাথে ঘটে to
ওয়ালেস বি ম্যাকক্লিউর

আমার জন্য কাজ করেছেন। xunit System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.1.2.0আমার প্রকল্পগুলি 4.7.2 এ উন্নীত করার পরে আমি একটি ত্রুটি পেয়েছি
আন্তন ক্রোগলভ

আপনার উত্তরের ভিত্তিতে আমি আমার নুগেট প্যাকেজগুলি পরীক্ষা করেছিলাম এবং আমার প্রকল্পগুলির মধ্যে 'গুগল.প্রোটোবুফ' প্রয়োজনীয়তা (একত্রীকরণ) পেয়েছি
ওসামা_আলমানী

30

বিশ্বাস করুন, আমি ঠাট্টা করছি না। সমস্ত অ্যাপ্লিকেশন অপসারণ করুন.আপনার অ্যাপকনফাইগ থেকে রুনটাইম নির্ভরতা এবং এটি কাজ শুরু করবে।


9
কেন এটি কাজ করবে তার আরও ভাল ব্যাখ্যা সহায়ক হবে।
ডোর হাই আর্চ

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

16

আমি এই ত্রুটিটি সমাধান করে নেটস্ট্যান্ডার্ড . লাইব্রেরি এবং NUnit- প্রকল্পের নীচের app.config ফাইলটি উল্লেখ করে ।

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.1.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

সম্পাদনা করুন

চেয়ে কিছু অন্য কিছু হলে System.Runtime, System.Reflectionবা System.Runtime.InteropServicesঅনুপস্থিত (যেমন System.Linq), তারপর একটি নতুন যোগ dependentAssemblyনোড।

সম্পাদনা 2

নতুন ভিজ্যুয়াল স্টুডিও সংস্করণগুলিতে (2017 15.8 আমি মনে করি) স্টুডিও অ্যাপ.config ফাইল তৈরি করা সম্ভব। প্রজেক্ট-প্রোপার্টি - অ্যাপ্লিকেশনটিতে কেবল অটো-জেনারেট বাইন্ডিং পুনঃনির্দেশ চেকবক্সটি পরীক্ষা করে দেখুন । পুনর্নির্দেশগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন করে

সম্পাদনা 3

স্বয়ংক্রিয়ভাবে উত্পাদিত বাইন্ডিং পুনঃনির্দেশগুলি । নেট ক্লাসলিব্রারিগুলির সাথে ভাল কাজ করে না। সিএসপিজেজ ফাইলগুলিতে নিম্নলিখিত লাইনগুলি যুক্ত করা এটি সমাধান করে এবং শ্রেণিবদ্ধের জন্য একটি কার্যকরী .কনফিগ ফাইল তৈরি করা হবে।

<PropertyGroup>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

12
অদ্ভুতভাবে, আমি সিস্টেমের জন্য সমস্ত নোড অপসারণ করে সমস্যাটি সমাধান করেছি fixed <dependentAssembly>রুনটাইম ..
ম্যাট ব্রিওয়ারটন

4
পুনঃটুইট করেছেন
বার্ট ডি বোইক

13

আমি আমার app.configসাথে মুছে এটি স্থির করেছি fixed

<assemblyIdentity name="System.Runtime" ....> 

এন্ট্রি।

app.config রিফ্যাক্টরিংয়ের সময় স্বয়ংক্রিয়ভাবে যুক্ত হয়েছিল (তবে প্রয়োজন নেই)


এটি আমার পক্ষে কাজ করেছিল! অন্যান্য সমস্ত আইটেম আপনার জন্য কাজ না করে থাকলে অবশ্যই এটি চেষ্টা করুন
বোকিফাস

3

এই সমস্যাটি ঘটে যখন আপনি .NET 4.x প্রকল্প থেকে একটি নেট স্ট্যান্ডার্ড প্রকল্পটি উল্লেখ করেন:। নেট স্ট্যান্ডার্ড প্রকল্পের নুগেট প্যাকেজ রেফারেন্সগুলির মধ্যে কোনওটি নির্ভরতা হিসাবে আনা হয় না।

আমি 4.3সিস্টেম.রুনটাইম এবং এনইটিএস স্ট্যান্ডার্ড যুক্ত করে সমাধান করেছি ib লাইব্রেরি প্যাকেজ এবং !! গুরুত্বপূর্ণ !! আমি refactor টুল ব্যবহার System.Runtime.dll সংস্করণ সন্ধান করার এটা করা হয় 4.1.1.1না 4.3.config একটি bindingRedirect যুক্ত করুন এবং তারপরে

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="4.1.1.1" />
</dependentAssembly>

.NET স্ট্যান্ডার্ড হিসাবে একটি প্রকল্প যুক্ত করার পরে আমার জন্য সমস্যা দেখা দিয়েছে। অদ্ভুতভাবে, প্রকল্পটি সরিয়ে দেওয়া সত্ত্বেও, সমস্যাগুলি অব্যাহত রয়েছে।
d219

3

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

<dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/> </dependentAssembly>

শুভেচ্ছান্তে


2

ডটনেট কাঠামো ৪.6.২ লক্ষ্য করে একটি নুনিট ২.6.৪ প্রকল্পে আমার এই নিয়ে সমস্যা হয়েছিল। হিউম্যানাইজারSystem.Runtime FileNotFound ব্যবহারের চেষ্টা করার সময় আমি সেই ত্রুটির মধ্যে পড়েছিলাম ।

নেট ইউনিট টেস্ট প্রকল্পে নেটস্ট্যান্ডার্ড. লাইব্রেরি ইনস্টল করে আমি আমার ত্রুটিটি স্থির করেছি ।


2

আমরা খুঁজে পেয়েছি যে এটি AutoGenerateBindingRedirectsসম্ভবত এই সমস্যার কারণ হতে পারে।

পর্যবেক্ষণ: একই প্রকল্প লক্ষ্যবস্তু net45এবং netstandard1.5সফলভাবে একটি মেশিনে নির্মিত হয়েছিল এবং অন্যটিতে নির্মাণ করতে ব্যর্থ হয়েছিল। মেশিনগুলির ফ্রেমওয়ার্কের বিভিন্ন সংস্করণ ইনস্টল করা ছিল (4.6.1 - সাফল্য এবং 4.7.1 - ব্যর্থতা)। প্রথম মেশিনে ফ্রেমওয়ার্কটি 4.7.1 এ উন্নীত করার পরে বিল্ডটিও ব্যর্থ হয়েছিল।

Error Message:
 System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
  ----> System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Auto binding redirectsএর একটি বৈশিষ্ট্য .net 4.5.1। যখনই নুগেট সনাক্ত করে যে প্রকল্পটি একই সমাবেশের বিভিন্ন সংস্করণকে ট্রানজিটিভলি রেফারেন্স করছে, এটি স্বয়ংক্রিয়ভাবে সমস্ত সংস্করণকে সর্বোচ্চ প্রয়োজনীয় সংস্করণে পুনর্নির্দেশ করে আউটপুট ডিরেক্টরিতে কনফিগার ফাইল তৈরি করবে।

আমাদের ক্ষেত্রে এটি সমস্ত সংস্করণে রিমিনড System.Runtimeকরে Version=4.1.0.0। রানটাইমের .net 4.7.1একটি 4.3.0.0সংস্করণ সহ জাহাজগুলি । তাই পুনর্নির্দেশনীয় বাধ্যতামূলক কোনও সংস্করণে ম্যাপিং ছিল যা কাঠামোর সমসাময়িক সংস্করণে পাওয়া যায় না।

সমস্যাটি অটো বাইন্ডিং পুনঃনির্দেশগুলি 4.5 টি টার্গেটের অক্ষম করে এবং কেবলমাত্র নেট কোরের জন্য রেখে দিয়ে সমাধান করা হয়েছিল।

<PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
  <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
</PropertyGroup>

2

নিউগেটের মাধ্যমে MsTest V2 যুক্ত করার পরে এখনই ইউনিট টেস্ট প্রকল্পে এটি ছড়িয়ে পড়ে। App.config নামকরণ (এত কার্যকরভাবে এটি অপসারণ) আমার জন্য কৌশলটি করেছে।

উপরের সমস্ত পোস্ট পড়ে, আমি এখনও নিশ্চিত না কেন, দুঃখিত!


2

এই ইস্যুটির অনেকগুলি কারণ রয়েছে ... আমার ক্ষেত্রে সমস্যাটি ছিল আমার ওয়েবকনফাইগটিতে সিস্টেম যুক্ত করে একটি ট্যাগ un রুনটাইম সমাবেশ:

<assemblies>
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>

তবে একটি প্যাকেজ অন্যান্য সংখ্যার সাথে নির্ভরতা হিসাবে একই সমাবেশকে যুক্ত করেছে:

<package id="System.Runtime" version="4.3.0" targetFramework="net47" />

আমার ওয়েবকনফিগ থেকে "অ্যাসেম্বলি যোগ করুন" ট্যাগটি সরানো সমস্যার সমাধান করেছে।


2

App.config বা web.config এড করুন

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>

এটি আমার পক্ষে কাজ করেছে। .NET কোর (তারপরে .NET স্ট্যান্ডার্ডে পরিবর্তিত) প্রকল্প যুক্ত করার পরে সমস্যা শুরু হয়েছিল। রেফারেন্স অপসারণ এবং ওয়েবকনফিগটি পুনরায় সেট করার পরেও (এবং অন্যান্য উত্তরগুলির যেগুলির মধ্যে। নেট মানকটি উল্লেখ করা হয়েছে সর্বাধিক চেষ্টা করার পরেও) সমস্যা ছিল remained
d219

2

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

এখানে আপনি ব্যবহারকারীরা কী লিখেছে তা পড়তে পারেন:

বাঁধাই পুনঃনির্দেশ কেন প্রয়োজন হয়? ধরুন আপনার কাছে অ্যাপ্লিকেশন এ রয়েছে যা গ্রন্থাগার বি-কে উল্লেখ করেছে এবং সংস্করণ 1.1.2.5 এর লাইব্রেরি সি। পরিবর্তে লাইব্রেরি বি এছাড়াও গ্রন্থাগার সি উল্লেখ করে, তবে সংস্করণ 1.1.1.0। এখন আমাদের একটি বিরোধ আছে, কারণ আপনি রানটাইমে একই সমাবেশের বিভিন্ন সংস্করণ লোড করতে পারবেন না। এই দ্বন্দ্বের সমাধান করার জন্য আপনি সাধারণত নতুন সংস্করণে বাইন্ডিং পুনঃনির্দেশ ব্যবহার করতে পারেন

সুতরাং, দ্রুত ফিক্স: অ্যাপকনফাইগের সমস্ত এন্ট্রি সরান।

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

আপনার যদি এ জাতীয় দ্বন্দ্ব হয় তবে অ্যাসেমব্লির প্রকৃত ব্যবহৃত সংস্করণগুলি মেলে আপনার এই সংস্করণ নম্বরগুলি অ্যাপকনফাইগগুলিতে ঠিক করা উচিত, তবে ম্যানুয়াল প্রক্রিয়াটি বেদনাদায়ক, তাই আমি প্যাকেজ ম্যানেজার কনসোল খোলার মাধ্যমে সেগুলি পুনরায় স্বয়ংক্রিয়ভাবে উত্পন্ন করার পরামর্শ দিচ্ছি এবং টাইপ করে প্যাকেজ পুনরায় ইনস্টল করার পরামর্শ দেব suggest Update-Package -reinstall


1

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

প্রতিবারের সমাধানটি লম্পট তবে কার্যকর ছিল: আমি প্রকল্প ডিরেক্টরিটি মুছলাম এবং উত্স নিয়ন্ত্রণ থেকে এটিকে পুনরায় ডাউনলোড করেছি। যদিও এর আগে এবং পরে কোনও পার্থক্য ছিল না, আমি কোনও প্রকল্প ছাড়াই প্রকল্পটি তৈরি করতে এবং পৃষ্ঠাটিতে অ্যাক্সেস করতে সক্ষম হয়েছি।


1

আমি নুগেট প্যাকেজটি সরিয়ে System.Runtimeএবং তারপরে এটি পুনরায় ইনস্টল করে সমস্যার সমাধান করেছি


1

ইউনিট পরীক্ষা চালানোর আগে, কেবল অ্যাপ.config ফাইল থেকে রানটাইম ট্যাগগুলি সরান। সমস্যার সমাধান হবে।


0

ভিএস 2017 15.45 এ আমার একইরকম সমস্যা ছিল - আমি যখন দেখেছি যে আমি যখন প্রকল্পটি সংকলন করে চালিয়েছি তখনও এটি একটি সিস্টেম নিয়ে আসে I IO.FileNotFoundException সম্পর্কে সিস্টেম.আরুনটাইম যখন আমি টিপিএল ডেটাফ্লো অবজেক্টগুলিতে অ্যাক্সেস করার চেষ্টা করেছি।

আমি যখন সমাধানগুলিতে প্রকল্পগুলি পরীক্ষা করেছিলাম, তখন তাদের মধ্যে একটি (শীর্ষে রয়েছে) সিস্টেমটি অনুপস্থিত ছিল the অন্তর্নিহিত প্রকল্পগুলি দ্বারা ব্যবহৃত রুনটাইম প্যাকেজ। আমি একবার এটি নুগেট থেকে ইনস্টল করলে এগুলি সমস্ত সঠিকভাবে কাজ করেছিল।


0

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

<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
</Reference>

0

আমি এএসপি.নেট কোর ২.১ ব্যবহার করছি এবং বড় রেপোতে প্রায় ৪০ টির তালিকা থেকে একটি .csproj নির্বাচন করে দৌড়ালে আমি এই ত্রুটিটি পেয়েছি। আমি যখন স্বতন্ত্রভাবে সিএসপিজেজ ফাইলটি খুলি তখন ত্রুটিটি সমাধান হয়েছিল। প্রোগ্রামটি কীভাবে চালু হয়েছিল তার কিছু ছিল যখন সিএসপোজ খোলা হয়েছিল।


0

আমি নেট 4.7.2 => .NET 4.5.2 থেকে স্যুইচ করে এই সমস্যাটি সমাধান করি এবং তারপরে 472 এ ফিরে যেতে পারি So


0

যদি এটি পূর্বে কাজ করে তবে একটি অ্যাপকনফাইগ পরিবর্তন হওয়া উচিত। পূর্বাবস্থায় ফিরুন App.config আমার পক্ষে কাজ করেছে।


0

আমার একই সমস্যা নিয়ে একটি প্রকল্প ছিল, আমি এটি পরিবর্তন করে ডটনেট কোর সংস্করণটি ২.২ থেকে ২.০ এ সমাধান করেছি, যদি আপনার সমস্যাটি থেকে যায় তবে এই সমাধানটি চেষ্টা করে দেখুন


0

আমি এই ত্রুটিটি এবং কীভাবে এটি থেকে মুক্তি পেয়েছি তা ভাগ করে নেওয়ার চেষ্টা করেছি।

আমার ক্ষেত্রে নীচে লাইনটি ওয়েবপিআই প্রকল্পের ওয়েবকনফাইগে বিদ্যমান ছিল তবে প্যাকেজ.কনফিগ ফাইলে প্যাকেজ রেফারেন্স ছিল না।

ওয়েবপিপি প্রকল্পের ওয়েবকনফিগে কোড

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.3.0" />
</dependentAssembly>

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

<package id="System.Runtime" version="4.3.0" targetFramework="net461" />

আমার ক্ষেত্রে কাজ করা আরেকটি সমাধান:

অন্য একটি শর্ট শর্ট যে আপনি অন্য কম্পিউটার সিস্টেমে প্রজেক্টটি অনুলিপি করার ক্ষেত্রে কাজ করতে পারে যার সামান্য ভিন্ন প্যাকেজ সংস্করণ থাকতে পারে যে আপনি যখন এটি চালাবেন তখন ওয়েবসাইট / ওয়েবপি তে ত্রুটিযুক্ত সংস্করণে অ্যাসেম্বলি সংস্করণ পরিবর্তন করার চেষ্টা করতে পারেন। এই ক্ষেত্রে যেমন প্রশ্নের সংস্করণ হিসাবে দেওয়া হয়েছে তেমন দরকার সংস্করণটি হ'ল '৪.১.০.০' তাই কেবল ওয়েবকনফিগের বর্তমান সংস্করণটিকে নীচের মত ত্রুটি হিসাবে দেখানো সংস্করণে পরিবর্তন করার চেষ্টা করুন

ত্রুটি:

Could not load file or assembly 'System.Runtime, Version=4.1.0.0' or one of its dependencies

সংস্করণ চেঞ্জ


0

অ্যাজুরে ফাংশন তৈরি করার সময় আমার এই ত্রুটিটি ঘটেছে (একটি সারি ট্রিগার সহ, এটির কোনও পার্থক্য করা উচিত)

এই ক্ষেত্রে সমস্যাটি ছিল কারণ AzureFunctionsVersionভি 3 এর পরিবর্তে v2 সেট করা হয়েছিল। VS2019 এর মাধ্যমে আপডেট করার জন্য, প্রকল্পটি আনলোড করুন এবং তারপরে csproj ফাইলটি সম্পাদনা করুন। মধ্যে PropertyGroupনোডের জুড়ুন / সম্পাদন করুন:

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