ভিজ্যুয়াল স্টুডিও 2013-তে সি # 6.0 বৈশিষ্ট্যটি কীভাবে সক্ষম করবেন?


201

আমি সি # 6.0 এ প্রবর্তিত সর্বশেষতম বৈশিষ্ট্যগুলি দিয়ে যাচ্ছিলাম এবং কেবলমাত্র অটো প্রপার্টি ইনিশিয়ালাইজারের উদাহরণ অনুসরণ করেছি,

class NewSample
{
    public Guid Id { get; } = Guid.NewGuid();
}

তবে আমার আইডিই বাক্যবিন্যাসকে চিনতে পারেনি।

আমি ভাবছি যে আমি কীভাবে ভিজুয়াল স্টুডিও 2013-এ সি # 6.0 সক্ষম করতে পারি I আমি যে টার্গেট ফ্রেমওয়ার্কটি ব্যবহার করছি তা হ'ল 4.5.1।


7
2013 সালে এটি সম্ভব বলে আমি বিশ্বাস করি না instead পরিবর্তে ভিএস 14 সিটিপি বা ভিএস 2015 এর পূর্বরূপ দেখুন।
জেরোইন ভেনেভেল

ঠিক আছে, আপনার সর্বশেষতম সংকলকটি প্রয়োজন, যা ভিএস 2013 এর অংশ নয়, সুতরাং আমি মনে করি এটি সম্ভব নয়।
রুফাস এল

2
ভাল, আমি কেবল এমএস কোনও আপডেট প্রকাশ করে কিনা তা সন্ধান করতে চাই
হাসান

1
@ পাওলো মোরগাদো "সেই সংস্করণটি পুরানো" এর মধ্যে 'এর' অর্থ কী? 4.5.1, ভিএস2013, বা ভিএস ২০১৪ টিটিপি?
অধ্যাপক

2
আপনি কি দয়া করে এই প্রশ্নটির উত্তরটি @ ডিফ
ক্রিস মেরিসিক

উত্তর:


64

অপ্রচলিত প্রিরিলিজ সফ্টওয়্যার সম্পর্কিত তথ্য:

মতে এই এটি শুধু একটি ইনস্টল এবং ভিসুয়াল স্টুডিও 2013 জন্য যেতে আছে:

প্রকৃতপক্ষে, এই প্রকাশ থেকে সি # 6.0 সংকলকটি ইনস্টল করাতে ভিজ্যুয়াল স্টুডিও 2013 এক্সটেনশান ইনস্টল করার চেয়ে আরও কিছুটা জড়িত যা ফলস্বরূপ এমএসবিল্ড টার্গেট ফাইলগুলি আপডেট করে।

সুতরাং কেবল https://github.com/dotnet/roslyn থেকে ফাইলগুলি পান এবং আপনি যেতে প্রস্তুত।

আপনার জানতে হবে এটি সেখানে প্রয়োগ করা চশমাগুলির একটি পুরানো সংস্করণ, যেহেতু তারা ভিজ্যুয়াল স্টুডিও 2013 এর জন্য প্যাকেজটি আর আপডেট করে না :

আপনি এপ্রিলের শেষ ব্যবহারকারীর পূর্বরূপও চেষ্টা করতে পারেন, যা ভিজ্যুয়াল স্টুডিও 2013 এর শীর্ষে ইনস্টল করে note (দ্রষ্টব্য: এই ভিএস 2013 পূর্বরূপটি বেশ পুরানো and

সুতরাং আপনি যদি সর্বশেষতম সংস্করণটি ব্যবহার করতে চান তবে আপনাকে ভিজ্যুয়াল স্টুডিও 2015 ডাউনলোড করতে হবে ।


7
দুর্ভাগ্যক্রমে, বনাম 2013 এর শেষ ব্যবহারকারীর পূর্বরূপটি বন্ধ করা হয়েছে :(
হাসান

4
কেবলমাত্র নিশ্চিত করার জন্য, ভিএস 2013 ব্যবহার করে সি # 6 তে লেখার কোনও সমর্থিত উপায় নেই? আমার কি ভিএস 2015 ব্যবহার করতে হবে?
vorou

2
ঐটা ঠিক. @ ফোরোউ ভিএস ২০১৩ এর পূর্বরূপটির কোনও সাম্প্রতিক সংস্করণ নেই
প্যাট্রিক হফম্যান

5
আসলে, এটি একটি উপায় (আমার উত্তর দেখুন)। চূড়ান্ত প্রকাশের আগে কয়েক মাস আগে আপনি যা করতে পারতেন তার চেয়ে আলাদা।
ডেভিড ডি সলোভার

1
এই বিষয় বা অন্যান্য অনুরূপ বিষয়ের সমাধানগুলির মধ্যে কোনওটিই আমাকে সহায়তা করেনি helped আমার আশেপাশে কেবলমাত্র কাজটি ভিএস 2015 এ চলেছে।
ইয়ার

177

ভিএস ২০১৩ এর অধীনে আপনি প্রকল্পে নতুন সংকলককে নুগেট প্যাকেজ হিসাবে ইনস্টল করতে পারেন । এইভাবে আপনার ভিএস2015 বা একটি আপডেট বিল্ড সার্ভারের দরকার নেই।

https://www.nuget.org/packages/Microsoft.Net.Compilers/

Install-Package Microsoft.Net.Compilers

প্যাকেজটি আপনাকে সি # 6.0 কোড / সিনট্যাক্স ব্যবহার / বিল্ড করার অনুমতি দেয়। যেহেতু ভিএস2013 নতুন সি # 6.0 সিনট্যাক্সটি স্থানীয়ভাবে স্বীকৃতি দেয় না, এটি কোড সম্পাদক উইন্ডোতে ত্রুটি প্রদর্শন করবে যদিও এটি সূক্ষ্ম তৈরি করবে

রিশার্পার ব্যবহার করে আপনি সি # 6 বৈশিষ্ট্যগুলিতে স্কুইগলি লাইন পাবেন তবে বাল্বটি আপনাকে 'এই প্রকল্পের জন্য সি # 6.0 সমর্থন সক্ষম করুন' (ডটসেটেটিংসে সংরক্ষিত সেটিংস) বিকল্প দেয়।

@ স্ট্যাম্পাই 7777 দ্বারা উল্লিখিত হিসাবে: এমভিসি রেজার ভিউগুলিতে সমর্থন করার জন্য আপনার একটি অতিরিক্ত প্যাকেজ লাগবে (যারা মন্তব্যটি পড়ে না তাদের জন্য)

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

আপনি যদি পুরো সি # 6.0 সমর্থন চান তবে আপনার ভিএস2015 ইনস্টল করতে হবে।


8
প্রাথমিক নির্মাতারা আসলে চূড়ান্ত প্রকাশ থেকে সরানো হয়েছিল। এ কারণেই তারা কাজ করে না।
মার্ক এ। ডোনোহো

8
এমভিসি 5 প্রকল্পে রেজারে সি # 6 ব্যবহার করতে চাইছেন এমন কাউকে কেবল চিহ্নিত করতে চান, দেখতে এটি পৃথক ন্যুগেট প্যাকেজ, এবং আপনি ভিএস ২০১৫ ব্যবহার করছেন এমনকি প্রয়োজনীয়। স্ট্যাকওভারফ্লো.com
জন ডেভিস

2
এটা (আপনি কম্পাইল করতে পারেন হিসাবে) কাজ করে তবে VS2013 এখনও শো ত্রুটি: stackoverflow.com/questions/35796001/...
mnwsmit

2
তিনি তিনি। এটি দুর্দান্ত ছিল। সংকলক আগাম ত্রুটিগুলি দেখায় তবে আসলে সংকলিত হয়ে সাফল্যের সাথে সংকলন করে। উইকএন্ডের সকালে কি হ্যাক শুরু!
আরবিটি

1
এটি কোড সম্পাদক উইন্ডোতে ত্রুটিগুলি প্রদর্শন করবে যদিও এটি সূক্ষ্ম তৈরি করবে। শুধু আবার এটি নির্দেশ করার প্রয়োজন অনুভূত। দুর্দান্ত উত্তর!
meJustAndru

5

রোজলিনের আগে এখানে প্রচুর উত্তর লেখা হয়েছিল (ওপেন-সোর্স। নেট সি # এবং ভিবি সংকলক) .NET 4.6 এ চলে যাওয়ার আগে। সুতরাং তারা আপনাকে সহায়তা করবে না যদি আপনার প্রকল্প লক্ষ্য করে, বলুন, 4.5 হিসাবে আমার যেমন হয়েছে (উত্তরাধিকার সূত্রে প্রাপ্ত এবং পরিবর্তিত হতে পারে না)।

তবে আপনি https://www.nuget.org/packages/Mic Microsoft.Net.Compilers থেকে রোজলিনের পূর্ববর্তী সংস্করণটি পেতে পারেন এবং সর্বশেষতম সংস্করণের পরিবর্তে এটি ইনস্টল করতে পারেন। আমি ব্যবহৃত 1.3.2। (আমি ২.০.১ চেষ্টা করেছিলাম - এটি শেষ সংস্করণ হিসাবে দেখা যায় যা .NET 4.5 এ চলেছে - তবে আমি এটি সংকলন করতে পারিনি)) ভিএস 2013 এর প্যাকেজ ম্যানেজার কনসোল থেকে এটি চালান:

PM> Install-Package Microsoft.Net.Compilers -Version 1.3.2

তারপরে ভিজ্যুয়াল স্টুডিও পুনরায় চালু করুন। প্রথমদিকে আমার বেশ কয়েকটি সমস্যা হয়েছিল; আপনাকে সি # সংস্করণটি আবার সেট করতে হবে ডিফল্টরূপে (সি # 6.0 সংস্করণ তালিকায় উপস্থিত হবে না তবে মনে হয় এটি ডিফল্ট করা হয়েছে), তারপরে পরিষ্কার করুন, সংরক্ষণ করুন, ভিএস পুনরায় চালু করুন এবং পুনরায় সংযোগ করুন।

মজার বিষয় হচ্ছে কোডটিতে ব্যবহৃত সি # 6.0 বৈশিষ্ট্যগুলির কারণে আমার কোনও ইন্টেলিসেন্স ত্রুটি ছিল না (যা সি # 6.0 প্রথম স্থানে চাওয়ার কারণ ছিল)।

সংস্করণ ২.০.১ ত্রুটি ছুঁড়েছে "মাইক্রোসফ্ট.কোডঅ্যানালাইসিস.বিল্ডটাস্কস.সিএসসি টাস্কটি মেমোসিসট.বিল্ড.টাস্কস.কোডএনালাইসিস.ডিএল থেকে লোড করা যায়নি file ফাইল বা অ্যাসেমব্লির 'মাইক্রোসফট.বিল্ড. ইউটিলিটিস.কোর, সংস্করণ লোড করা যায়নি = ১৪.০.০.০, সংস্কৃতি = নিরপেক্ষ, PublicKeyToken = b03f5f7f11d50a3a 'বা এর যে কোনও নির্ভরতা specified সিস্টেমটি নির্দিষ্ট করা ফাইলটি খুঁজে পাচ্ছে না the ঘোষণাটি ঠিক আছে কিনা তা নিশ্চিত করুন, সমাবেশ এবং এর সমস্ত নির্ভরতা উপলব্ধ রয়েছে এবং কার্যটিতে একটি রয়েছে মাইক্রোসফ্ট।

আপডেট উত্তরটি পোস্ট করার পরে আমি একটি জিনিস লক্ষ্য করেছি যে হ'ল আপনি যদি ডিবাগ চলাকালীন কোনও কোড পরিবর্তন করেন ("সম্পাদনা করুন এবং চালিয়ে যান"), আপনি দেখতে পাবেন যে আপনার সি # 6.0 কোডটি হঠাৎ করে যেটি ফিরে যাবে বলে মনে হচ্ছে ত্রুটি হিসাবে দেখাবে প্রাক-সি # 6.0 পরিবেশ। এটির জন্য আপনার ডিবাগ সেশনটি পুনঃসূচনা প্রয়োজন। বিশেষত ওয়েব অ্যাপ্লিকেশনগুলির জন্য খুব বিরক্তিকর।


@ রিচবিয়ানকো দুর্দান্ত - প্রতিক্রিয়া এবং ভোট দেওয়ার জন্য ধন্যবাদ। ব্যক্তিগতভাবে, আমি বুঝতে পারি না কেন v2.0.1 কাজ করে না। কারও কাছে যদি এই সম্পর্কে আমার কোনও ত্রুটি থাকে - যেমনটি আমার রিপোর্ট করা ত্রুটি থেকে মুক্তি পেয়েছে - তবে আপনার ঠিকঠাকটি পোস্ট করুন।
স্টিভসিংক

4

এটি উল্লেখযোগ্য যে পরে ভিসি 2015 ব্যবহারকারীদের জন্য বিল্ড সময় বাড়ানো হবে :

Install-Package Microsoft.Net.Compilers

যারা ভিএস 2015 ব্যবহার করছেন এবং তাদের প্রকল্পগুলিতে এই প্যাকেজটি রাখতে হবে তারা বর্ধমান সময় নির্ধারণ করতে পারেন

ফাইল সম্পাদনা করুন packages\Microsoft.Net.Compilers.1.2.2\build\Microsoft.Net.Compilers.propsএবং এটি পরিষ্কার করুন । ফাইলটি দেখতে এমন হওয়া উচিত:

<Project DefaultTargets="Build" 
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

এটি করার ফলে কোনও প্রকল্প যেমন Microsoft.Net.Compilersপ্যাকেজ যুক্ত করার আগে তৈরি হয়েছিল তেমন বাধ্য হয়


2

আপনার যদি রিশার্পার থাকে তবে ভিজ্যুয়াল স্টুডিও 2013 এ সম্পূর্ণ সি # 6.0 বৈশিষ্ট্যগুলি ব্যবহার করা সম্ভব।
আপনি পুনঃনির্মাণ বিল্ড এবং voilá সক্ষম করতে হবে! পুনঃনির্মাণ বিকল্পগুলিতে -> বিল্ড - সক্ষম করুন পুনঃনির্মাণ বিল্ড এবং "এমএসবিল্ড.এক্সই সংস্করণ ব্যবহার করুন" "সর্বশেষ ইনস্টলড" চয়ন করুন

এইভাবে পুনরায় ভাগ করা আপনার সি # 6.0 প্রকল্পগুলি তৈরি করতে চলেছে এবং সি # 6.0 কোডটিকে অবৈধ হিসাবে আন্ডারলাইন করবে না।

আমার ভিজ্যুয়াল স্টুডিও 2015 থাকলেও আমি এটি ব্যবহার করছি কারণ:

  1. রিশার্পারে ইউনিট টেস্টগুলি কোনও কারণে ভিজ্যুয়াল স্টুডিও 2015 দিয়ে আমার পক্ষে কাজ করে না
  2. ভিএস 2015 ভিএস 2013 এর চেয়ে অনেক বেশি মেমরি ব্যবহার করে।

আমি এটি এখানে রাখছি, যেহেতু আমি কিছু সময়ের জন্য এই সমস্যার সমাধান খুঁজছিলাম এবং সম্ভবত এটি অন্য কাউকে সহায়তা করবে।


-1

দেখে মনে হচ্ছে কিছু ভুল বোঝাবুঝি হয়েছে। সুতরাং, এখানে VS2013 প্যাচ করার চেষ্টা করার পরিবর্তে এবং কোনও মাইক্রোসফ্ট লোকের কাছ থেকে উত্তর: https ://social.msdn.mic Microsoft.com/ Forums/vstudio/en-US/49ba9a67-d26a-4b21-80ef-caeb081b878e/will-c- 60 সদা করা সমর্থিত-বাই-বনাম-2013? ফোরাম = Roslyn

সুতরাং, দয়া করে এটি পড়ুন এবং ভিএস ২০১৫ ইনস্টল করুন।


1
লিঙ্কটি আমাকে এমএস লগইনের পরেও 'অনুমোদিত নয়' দেয়। অবশ্যই VS2015 ইনস্টল করুন বা তারপরে কিছু সেটিংসে £ XXX, 000s ব্যয়।
ক্রিস এফ ক্যারল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.