আপনার প্রকল্পটি ".NETFramework, সংস্করণ = v4.6.2" কাঠামোর উল্লেখ করে না। "টার্গেটফ্রেমওয়ার্কস" এ ".NETFramework, সংস্করণ = v4.6.2" এ একটি রেফারেন্স যুক্ত করুন


101

আমি আমার ইউনিট পরীক্ষা চালাতে পারি না।

আমার পরবর্তী ত্রুটি রয়েছে:

আপনার প্রকল্পটি ".NETFramework, সংস্করণ = v4.6.2" কাঠামোর উল্লেখ করে না। আপনার প্রকল্পের ফাইলটির "টার্গেটফ্রেমওয়ার্কস" বৈশিষ্ট্যে ".NETFramework, Version = v4.6.2" এ একটি রেফারেন্স যুক্ত করুন এবং তারপরে পুনরায় পুনরায় চালিত করুন NuGet পুনরুদ্ধার করুন।

ইন app.config:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>

প্রকল্পে> সম্পত্তি> অ্যাপ্লিকেশন> টার্গেটফ্রেমওয়ার্ক (। নেট ফ্রেমওয়ার্ক 4.6.2)

আমি কীভাবে এটি ঠিক করতে পারি?


উত্তর:


245

পরবর্তী পদক্ষেপ করুন

  1. পরিষ্কার সমাধান
  2. "প্যাকেজগুলি" ফোল্ডার পরিষ্কার করুন
  3. "বিন" ফোল্ডারটি মুছুন
  4. "আপত্তি" ফোল্ডার মুছুন

24
# 3 এবং # 4 সমস্যা সমাধান করেছে। আমার একটি শাখা ছিল যা আপগ্রেড টাস্ক ছিল ৪..2.২ তবে আমাকে অন্য শাখায় স্যুইচ করতে হয়েছিল যা ৪.7.১ লক্ষ্য করে ছিল। এই সমস্যাটি সমাধান করার জন্য এই পদক্ষেপগুলি করুন।
jjhayter

4
সমাধানের ডিরেক্টরি থেকে আরও একটি পদক্ষেপ নিতে হয়েছিল: ডেল / এস প্রোজেক্ট.অ্যাসেটস.জসন
জেনেস 16

এই পরিষ্কার করার পরে আমি জানতে পেরেছিলাম যে প্রকল্পে আমার আরও একটি ত্রুটি ছিল যা নেট ফ্রেমওয়ার্ক ত্রুটি প্রদর্শিত হয়েছিল। এটি ঠিক করেই সমস্যার সমাধান হয়েছে।
meJustAndru

4
এগুলি মোছার জন্য stackoverflow.com/a/755433/769137 ব্যাচের স্ক্রিপ্ট রয়েছে।
বেদরান

4
আমি 4.7.2 থেকে 4.8 এ আপগ্রেড করেছি এবং obj/ফোল্ডারগুলি মুছতে আমার পক্ষে এটি যথেষ্ট ছিল ।
স্কেস্ট

29

আমি অনুরূপ সমস্যা অভিজ্ঞ, কিন্তু সঙ্গে v4.7.2। যথা, আমি বিল্ড লগ বার্তাটি এভাবেই পেতে থাকি:

error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.

এটি দেখতে দেখতে অনুরূপ বলে মনে হলেও, প্রস্তাবিত পদক্ষেপগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। আমি প্রতিটি বিল্ডের পরে এই বার্তাটি দেখতে পেয়েছি। কিছুই সাহায্য করতে সক্ষম হবে বলে মনে হয় নি।

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

আপনার ফ্রেমওয়ার্ক প্রকল্প ফাইলে নিম্নলিখিত স্নিপেটটি রেখে আপনি সমস্যার সমাধানের চেষ্টা করতে পারেন:

<Project>
  ...
  <PropertyGroup>
    <BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
    <BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
  </PropertyGroup>
  ...
</Project>

এটি তাত্ক্ষণিকভাবে আমার জন্য কাজ করেছিল, এটি তখনই হয়েছিল যখন আমি মনোযোগ সহকারে পড়লাম কেন আমাদের এটি প্রয়োজন এবং কেন এটি কাজ করে। আমি অপ্রত্যাশিতভাবে থেকে তা পাওয়া পার্ট 2 এর .NET কোর 3 মাইগ্রেট একটি নমুনা WPF অ্যাপ অধীনে .NET ফ্রেমওয়ার্ক প্রকল্পের এখনও তৈরী করে নিশ্চিত অধ্যায়। BaseOutputPathএবং BaseIntermediateOutputPathএমএসবিল্ড ভেরিয়েবলগুলি সেখানে পাওয়া যাবে, নিশ্চিত নয় যে সেগুলি কোথাও ভাল করে নথিভুক্ত হয়েছে।


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

4
VS2019 এ আমি খুঁজে পেয়েছি যে আপনি যে বৈশিষ্ট্যগুলি উল্লেখ করেছেন সেগুলি আউটপুটপথের আগে হওয়া উচিত। আমি প্রাথমিকভাবে এগুলিকে কেবল কোনও সাফল্য ছাড়াই সিএসপিজের নীচে ফেলে দিয়েছিলাম। এই পোস্টে কিছু অতিরিক্ত বিশদ রয়েছে এবং তার থেকে বোঝা যায় যে এটি কোনও সময়ে ঠিক হয়ে যেতে পারে: github.com/dotnet/msbuild/issues/2070
জন ডায়ার

16

VS2017 এ VS2015 প্রকল্পটি খোলার সময় আমার সাথে এটি হয়েছিল। ফোল্ডারটি project.assets.jsonথেকে মুছে ফেলা objকৌশলটি করেছে।

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


4
সবার সহজ সমাধান। সমাধান হিসাবে কেবল ফাইলটি সন্ধান করুন এবং সেগুলি একবারে মুছুন :)
ইমাদ

5

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


2

আমার ক্ষেত্রে, .pkgrefgen/প্রজেক্ট ফোল্ডারের কাজকৃত ফোল্ডারটি মোছার কাজ করে, এতে একটি ফাইল প্রজেক্ট.আসেটস.জসন রয়েছে যা পুরানো। নেট ফ্রেমওয়ার্কটি উল্লেখ করে


4
মাইন প্রজেক্ট ফোল্ডারে একটি প্রজেক্ট.অ্যাসেট.জসন ফাইল ছিল। মুছে ফেলা বিন এবং আপত্তি ফোল্ডার এবং সমস্যাটি চলে গেল।
সেরেস

1

আমি .net 4.71 দিয়ে একই জিনিসটিতে চলেছি। আমার ক্ষেত্রে, আমি কেবলমাত্র প্যাকেজ কনফিগ থেকে প্রতি "প্যাকেজ রেফারেন্স" এ স্থানান্তরিত করেছি

প্যাকেজ। কনফিগ থেকে প্যাকেজ-রেফারেন্সে মাইগ্রেট করুন

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


0

আমি একটি খুব পুরানো। নেট প্রকল্প ব্যবহার করছি এবং এটি হঠাৎ বন্ধ না হওয়া পর্যন্ত এটি কাজ করে চলেছিল। আমার জন্য আপাতত ভিজ্যুয়াল স্টুডিও স্থির করে দেওয়া।

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