বৈশিষ্ট্য 'ঘোষণা ব্যবহার করে' সি # 7.3 তে উপলভ্য নয়। দয়া করে ভাষা সংস্করণ 8.0 বা ততোধিক সংস্করণ ব্যবহার করুন - একটি মেশিনে ত্রুটি কিন্তু অন্যটিতে কাজ করে


24

Visual Studio Enterprise 16.3.7দুটি পৃথক মেশিন ব্যবহার করার সময় একটি জরিমানা তৈরি করে এবং অন্য মেশিনটি ত্রুটিটি ছুঁড়ে দেয়:

বৈশিষ্ট্য 'ঘোষণা ব্যবহার করে' সি # 7.3 তে উপলভ্য নয়। ভাষা সংস্করণ 8.0 বা তার চেয়ে বড় ব্যবহার করুন।

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

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

এই সহজে সেট করে কেউ কাজ মেশিনে সমাধান করা যেতে পারে LangVersionযে .csprojএখানে প্রস্তাব https://stackoverflow.com/a/48085575/3850405 বা ভিসুয়াল স্টুডিও স্বয়ংক্রিয়ভাবে উপরে মুদ্রণ পর্দা মত এটা ঠিক করা যাক।

<LangVersion>8.0</LangVersion>

আমি বুঝতে পারি না কেন একটি মেশিন এই লাইনটি না রেখে সূক্ষ্মভাবে তৈরি করে .csprojএবং অন্য মেশিনটির এটির কী প্রয়োজন?


আপনি এই ধরনের কোনো ত্রুটির সম্মুখীন হয়েছেন থাকেন তার মানে এটা না একটি সি # 8 প্রকল্প, অথবা আপনি একটি বিশ্লেষণ বাগ সঙ্গে একটি Resharper সংস্করণ ব্যবহার
Panagiotis Kanavos

আপনার সিএসপোজে টার্গেটফ্রেমওয়ার্ক এবং ল্যাংভার্সন কী?
পানাগিওটিস কানভোস

@ পানাগিওটিসকানাভোস হ্যাঁ তবে প্রকল্পটি একটি মেশিনে তৈরি করে অন্যটিতে নয় - এটি আমি বুঝতে পারি না। রিশার্পার ব্যবহার হয় না।
ওগ্লাস

এর অর্থ এই হতে পারে যে একটি মেশিনে 3.0 এসডিকে অনুপস্থিত। কি dotnet --list-sdksদেখায়?
পানাজিওটিস কানভোস

@ পানাগিওটিসকানাভস টার্গেট ফ্রেমওয়ার্ক .NET Framework 4.6.1এবং LangVersionসেট করা নেই।
ওগ্লাস

উত্তর:


20

আমি একই ত্রুটি পেয়েছি, তবে আমি কেবল এটিকে অন্তর্ভুক্ত করতে ভুলে গিয়েছিলাম

<LangVersion>8.0</LangVersion>

সমাধানে সমস্ত .csproj ফাইলগুলিতে বৈশিষ্ট্য । নিম্নলিখিতটি আমার বর্তমান সি # 8 সেটআপ:

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <LangVersion>8.0</LangVersion>
    <Nullable>enable</Nullable>
    <NullableContextOptions>enable</NullableContextOptions>
  </PropertyGroup>

মূল 2.2 থেকে 3.x এ স্থানান্তরিত করার সময় নিম্নলিখিত নথিগুলি সর্বাধিক সহায়ক বলে আমি পেয়েছি:

এমএসডিএন 2.2 -> 3.0

এমএসডিএন 3.0 -> 3.1


2
আপনি এর <LangVersion>latest</LangVersion>পরিবর্তে ব্যবহার করতে পারেন<LangVersion>8.0</LangVersion>
এলিয়াহু অ্যারোন

আমি মনে করি যে প্রথম লিঙ্কটি MSDN 2.2 -> 3.0নিম্নলিখিতগুলির সাথে লিঙ্ক করা বোঝায়: ডকস.মাইক্রোসফট.ইন / ইউএস / এস্পনেট / কোর্ট / ইমিগ্রেশন / २२-৩০-৩০ আমি এর সংশোধন করার জন্য উত্তরটি সম্পাদনা করার চেষ্টা করেছি, তবে "সম্পাদনা সারিটির প্রস্তাব দেওয়া হয়েছে" পূর্ণ ", সুতরাং পরিবর্তে এখানে পোস্ট করবে।
ahillier88

17

আমি ভিজ্যুয়াল স্টুডিও 16.3.X থেকে 16.4.2 এ সংস্করণে আপডেট করতে হয়েছিল। এটি সমস্যার সমাধান করেছে এবং আমাকে কোনও ল্যাং ভার্সন যুক্ত করতে হয়নি।

ক্রেডিট: https://github.com/aspnet/AspNetCore.Docs/issues/16047


10

এটি হতে পারে কারণ সংকলকটি বিভিন্ন টার্গেট ফ্রেমওয়ার্কের জন্য ডিফল্টরূপে বিভিন্ন সি # ভাষার সংস্করণ ব্যবহার করে।

ডিফল্ট সি # ভাষা ওভাররাইড করতে, প্রকল্পের ফাইলে যুক্ত করুন (প্রশ্নে প্রস্তাবিত হিসাবে):

<PropertyGroup>
   <LangVersion>8.0</LangVersion>
</PropertyGroup>

বা:

<PropertyGroup>
   <LangVersion>latest</LangVersion>
</PropertyGroup>

দেখুন C # এর ভাষা ভার্সন বিভিন্ন লক্ষ্য অবকাঠামো এবং কিভাবে ম্যানুয়ালি সি # ভাষার সংস্করণটি নির্বাচন করতে জন্য ডিফল্ট C # এর ভাষা সংস্করণের জন্য।

স্ট্যাক ওভারফ্লো উত্তরটিও দেখুন সি # 8। নেট ফ্রেমওয়ার্ক সমর্থন করে? এই বিষয়ে আরও তথ্যের জন্য।


এখানে সি # ভাষার সংস্করণ নিবন্ধের অংশ রয়েছে :

সি # ভাষার সংস্করণ

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

এই নিবন্ধের বিধিগুলি ভিজ্যুয়াল স্টুডিও 2019 বা। নেট কোর 3.0 এসডিকে দিয়ে সংকলিত প্রযোজ্য। সি # সংকলকগুলি যা ভিজ্যুয়াল স্টুডিও 2017 ইনস্টলেশন বা তার আগেরের অংশ। নেট কোর এসডিকে সংস্করণগুলি ডিফল্টরূপে সি # 7.0 কে লক্ষ্য করে।

পূর্ব নির্ধারিত

সংকলক এই নিয়মের ভিত্তিতে একটি ডিফল্ট নির্ধারণ করে:

--------------------------------------------------------
Target framework | version | C# language version default
--------------------------------------------------------
.NET Core        | 3.x     | C# 8.0
.NET Core        | 2.x     | C# 7.3
.NET Standard    | 2.1     | C# 8.0
.NET Standard    | 2.0     | C# 7.3
.NET Standard    | 1.x     | C# 7.3
.NET Framework   | all     | C# 7.3
--------------------------------------------------------

একটি ডিফল্ট ওভাররাইড করুন

যদি আপনাকে অবশ্যই নিজের সি # সংস্করণটি স্পষ্টভাবে নির্দিষ্ট করতে হয় তবে আপনি বিভিন্ন উপায়ে এটি করতে পারেন:

  • আপনার প্রকল্প ফাইলটি ম্যানুয়ালি সম্পাদনা করুন।
  • একটি উপ-ডিরেক্টরিতে একাধিক প্রকল্পের জন্য ভাষা সংস্করণ সেট করুন।
  • -আলংভার্সন সংকলক বিকল্পটি কনফিগার করুন।

প্রকল্প ফাইল সম্পাদনা করুন

আপনি আপনার প্রকল্পের ফাইলে ভাষা সংস্করণ সেট করতে পারেন। উদাহরণস্বরূপ, আপনি যদি পূর্বরূপ বৈশিষ্ট্যগুলিতে স্পষ্টভাবে অ্যাক্সেস চান তবে এই জাতীয় উপাদান যুক্ত করুন:

<PropertyGroup>
   <LangVersion>preview</LangVersion>
</PropertyGroup>

মানটি previewসর্বশেষ উপলব্ধ উপলভ্য সি # ভাষার সংস্করণ ব্যবহার করে যা আপনার সংকলক সমর্থন করে।

একাধিক প্রকল্প কনফিগার করুন

কনফিগার একাধিক প্রকল্প করতে, আপনার একটি তৈরি করতে পারেন Directory.Build.props যে ফাইলটি রয়েছে <LangVersion>উপাদান। আপনি সাধারণত আপনার সমাধান ডিরেক্টরিতে এটি করেন। আপনার সমাধান ডিরেক্টরিতে একটি ডিরেক্টরি। বিল্ড.প্রপুট ফাইলটিতে নিম্নলিখিতটি যুক্ত করুন :

<Project>
 <PropertyGroup>
   <LangVersion>preview</LangVersion>
 </PropertyGroup>
</Project>

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


8

আমি নেট কোর 3.0 এবং 3.1 এর সর্বশেষ সংস্করণটি ডাউনলোড করেছি এবং একই সমস্যা ছিল। আমার জন্য, ফিক্সটি ভিজ্যুয়াল স্টুডিও 2019 (সংস্করণ 16.4.2) এর সর্বশেষ আপডেট ডাউনলোড করেছে বলে মনে হয়েছিল।

এটি আমার কম্পিউটারটিও পুনরায় চালু করে এবং ত্রুটিটি চলে যায়।


এটি কোনও ভিএস2019 সংস্করণ নম্বর নয়, এগুলি দেখতে 16.xy ব্যবহার করুন সহায়তা> সম্পর্কে।
হ্যানস প্যাস্যান্ট

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