আমি ভিজুয়াল স্টুডিও 2015-এ সি # 6 সমর্থন কীভাবে অক্ষম করব?


136

পটভূমি

আমাদের এমন একটি প্রকল্প রয়েছে যা আমরা ভিএস ২০১৫ তে সি # enabled সক্ষম করে বিকাশ করেছি যা মাঝে মাঝে সি # 6 ছাড়াই ভিএস 2013 ব্যবহার করে বিকাশকারীদের দ্বারা খোলার প্রয়োজন হয়।

এই নির্দিষ্ট সমাধানের মধ্যে (আমি যতটা চাই) সি # 6 ব্যবহার করার আমাদের কোনও ইচ্ছা নেই।

সমস্যা

ভিজ্যুয়াল স্টুডিও এবং রিসার্পার সি # 6 ভাষা কনস্ট্রাক্টসকে পরামর্শ দেয় যা সি # 6 সমর্থন ছাড়াই ভিজ্যুয়াল স্টুডিওর পূর্ববর্তী সংস্করণগুলিতে সমাধানটিকে অকার্যকর করে দেয়।

আমি রিশার্পার সি # 6 সমর্থন অক্ষম করেছি তবে পুরো সমাধান জুড়ে আমি সি # বৈশিষ্ট্যগুলিকে অক্ষম / সীমাবদ্ধ বলে মনে করতে পারি না।

প্রশ্ন

কোনও সমাধানের মধ্যে বা ভিজ্যুয়াল স্টুডিও 2015 এর মধ্যে আমি কীভাবে সি # 5 সি সক্ষম করতে পারি?


17
বিল্ড ট্যাব, উন্নত বোতাম, ভাষা সংস্করণ সেটিং।
হ্যানস প্যাস্যান্ট

@ হ্যানসপাসান্ট ধন্যবাদ! এটা ঠিক এটি। আমি এটিকে উত্তর আকারে লিখব তবে আপনি যদি উত্তরটি এখানে পোস্ট করেন তবে আমি অবশ্যই আপনার সঠিক হিসাবে চিহ্নিত করব।
শানকিলেন 26'15

ঠিক আমার সমস্যা! আমাদের সমাধানটি 2013 এ থাকলেও আমি পরিবর্তে VS2015 ব্যবহার চালিয়ে যেতে চাই।
আনিশ

@ এখানে প্রয়োজনীয় প্রয়োজন নেই; আপনি সর্বদা সি # 6 বৈশিষ্ট্যটি ব্যবহার করতে পারবেন না । যদিও ভিজ্যুয়াল স্টুডিও এবং পুনঃভাগটি এই বৈশিষ্ট্যগুলি ব্যবহার করে তবে সাহায্যকারীভাবে রিফ্যাক্টরিংয়ের পরামর্শ দেয়। আপনার বিল্ড মেশিন যতক্ষণ না সি # 6 সমর্থন করে, ততক্ষণ কোনও সমস্যা হওয়া উচিত নয়।
শানকিলেন

আমি সি # 6 ব্যবহার করতে চাই না ... তবে আমি এখনও এই পরামর্শগুলি পাচ্ছি .. আমি সেগুলি পুনঃ-শেয়ারের জন্য সরিয়ে দিয়েছি .. তবে ভিজ্যুয়াল স্টুডিওর জন্য জিজ্ঞাসা করছি ... আমার ধারণা অনুমান ভিজ্যুয়াল স্টুডিও সি # 6 এর প্রস্তাবনা দেবে না কারণ আমার। নেট কাঠামোটি 4.5
হরিশ

উত্তর:


136

আপনি প্রতিটি প্রকল্পের জন্য ভাষা বৈশিষ্ট্যটি আলাদা করে Properties => Build tab => Advanced button => Language Versionনিজের পছন্দসই সংস্করণটি সেট করে সেট করতে পারেন।

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


আমি মনে করি না যে কোনও সমাধান-বিস্তৃত সেটিংস উপলব্ধ।


1
আপনি কি জানেন যে ভিবি.এনইটি-র জন্য কোনও সমতুল্য সেটিং আছে?
ব্র্যাডলি উফনার 13

2
আমি আজ আমার উত্তর পেয়েছিলাম। stackoverflow.com/questions/31454902/…
ব্র্যাডলি উফনার

1
প্রকল্পের বৈশিষ্ট্যগুলির পরিবর্তনের পরে আমার স্টুডিও সম্পাদকে সি # 6.0 কোডটি চিহ্নিত করে। তবে এটিকে ত্রুটি হিসাবে বিবেচনা করে না (সফলভাবে তৈরি করে)।
ইউজিন গ্রিয়াজনভ

2
আপনার যদি অনেকগুলি প্রকল্প থাকে তবে আমি সরাসরি সিএসপ্রোজ সম্পাদনা করার পরামর্শ দিচ্ছি। প্রথম PropertyGroupউপাদানটির মধ্যে নিম্নলিখিতটি যুক্ত করুন :<LangVersion>5</LangVersion>
3'16

ভিএস2017-এ সি # 7 সমর্থন অক্ষম করার জন্য ঠিক একইভাবে কাজ করে - কেবল <LangVersion>6</LangVersion>পরিবর্তে ব্যবহার করুন।
পল সুয়ার্ট

49

.sln.DotSettingsসমাধান স্তরে এটি নিষ্ক্রিয় করা উচিত নীচে যুক্ত করুন

<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String>

অথবা আপনার কাছে .sln.DotSettingsফাইল না থাকলে:

  1. যদি আপনার সলিউশন ফাইলটিকে Apple.sln বলা হয় তবে এর পাশে একটি ফাইল তৈরি করুন যা Apple.sln.DotSettings নামে পরিচিত।

  2. এটি নিম্নলিখিত বিষয়বস্তু দিন:

    <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
        <s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String>
    </wpf:ResourceDictionary>
  3. সমাধানটি বন্ধ করুন এবং পুনরায় খুলুন, পুনরায় ভাগ করা আপনাকে কেবল সি # 5 টি বিষয়ে সতর্ক করতে হবে।

  4. আপনি অবশেষে সি # 6 বৈশিষ্ট্যগুলি ব্যবহার শুরু করলে এটিকে সরাতে ভুলবেন না! :)


1
এটি একটি উত্তর হিসাবে সমস্ত প্রকল্পের জন্য প্রযোজ্য হিসাবে এটি উত্তর হিসাবে চিহ্নিত করা উচিত এবং একটি ফাইল চেক ইন করা যেতে পারে।
twoleggedhorse

8
@ ট্যুইলেগডহর্স আসলে এই উত্তরটি কেবল পুনরায় ভাগ করার ক্ষেত্রে প্রাসঙ্গিক যা ওপি ইতিমধ্যে অক্ষম করেছে, সুতরাং এটি প্রশ্নেরও উত্তর দেয় না।
i3arnon

1
আমি এটিও সম্মত করি যে, এটি উত্তর হিসাবে চিহ্নিত করা উচিত। ওপি সমাধান বিস্তৃত সেটিংস সম্পর্কে জিজ্ঞাসা করেছে, যা কেবলমাত্র এই উত্তর সরবরাহ করে।
সাম-xor

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

11

এই সরঞ্জামটি আমি লিখেছিলাম আপনাকে যদি আপনার পক্ষে অনেকগুলি প্রকল্পের জন্য সেট করতে হয় তবে আপনাকে সহায়তা করতে পারে LangVersion


10

আপনি এর solutions/csprojসাথে সমস্তটির জন্য ভাষা বৈশিষ্ট্যটি সেট করতে পারেন MSBuildUserExtensionsPath

এর মানটি অনুসন্ধান করুন $(MSBuildUserExtensionsPath), এটির মতো কিছু হওয়া উচিতC:\Users\$(User)\AppData\Local\Microsoft\MSBuild

তারপরে Force.LangVersion.ImportBefore.propsফোল্ডারে ফাইলটি সম্পাদনা করুন $(MSBuildUserExtensionsPath)\14.0\Imports\Microsoft.Common.Props\ImportBefore:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LangVersion>5</LangVersion>
  </PropertyGroup>
</Project>

9

পদক্ষেপগুলি ইতিমধ্যে উপরে লেখা হয়েছে, কেবল আমার ভিএস ২০১৫ এর আরও একটি স্ক্রিনশট যুক্ত করুন:

প্রকল্পের বৈশিষ্ট্য >> বিল্ড >> উন্নত >> ভাষার সংস্করণ

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

আমি এটি সি # 5.0 এ সেট করেছি।


8

প্রজেক্ট এক্সপ্লোরার-এ প্রোজেক্টে ডান ক্লিক করুন এবং বৈশিষ্ট্য নির্বাচন করুন।

প্রোপার্টি ট্যাব খুললে বিল্ড নির্বাচন করুন এবং নীচে ডানদিকে অগ্রিম বোতামটি ক্লিক করুন।

ভাষা সংস্করণ নামক ড্রপ-ডাউন বক্স রয়েছে। নির্বাচনকে "C # 5.0" এ পরিবর্তন করুন

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