কেন আমি "ত্রুটিটি অনিরাপদ কোডটি কেবল তখনই অসম্পূর্ণ / সুরক্ষিত সাথে সংকলিত হলে উপস্থিত হতে পারে" পেতে পারি?


140

আমি নিম্নলিখিত ত্রুটিটি পাই কেন?

"অনিরাপদ" সংকলন করলেই কেবল অনিরাপদ কোডটি উপস্থিত হতে পারে?

আমি উইন্ডোজ সিইতে প্রোগ্রামিংয়ের জন্য সি # এবং ভিজ্যুয়াল স্টুডিও 2008 এ কাজ করি।



উত্তর:


274

অনিরাপদ কোড ব্লক ব্যবহার করতে, প্রকল্পটি / অনিরাপদ স্যুইচ অন দিয়ে সংকলন করতে হবে।

প্রকল্পের জন্য বৈশিষ্ট্যগুলি খুলুন, Buildট্যাবে যান এবং Allow unsafe codeচেকবক্সটি চেক করুন।


4
আমার অবশ্যই বলতে হবে, যদিও এটি বিল্ডটি সংকলন করতে সক্ষম করে, এটি এখনও এটি ওয়েবে প্রকাশিত হতে দেয় না: /
নিক

5
@ নিক: হ্যাঁ, আপনি যদি গতিশীলভাবে সংকলন করতে কোড প্রকাশ করেন তবে প্রকল্পের সেটিংস প্রযোজ্য হবে না। দেখুন stackoverflow.com/questions/16567197/...
Guffa

9
নোট করুন যে সেটিংস ডিবাগ এবং রিলিজ সংকলনের মধ্যে আলাদা হতে পারে। এটি আমার জীবনের 20 মিনিটের জন্য ব্যয় করেছে।
লসম্যানোস

সহজ দ্রুত সমাধান..গ্রন্থ।
কালহের

131

এখানে একটি স্ক্রিন শট হয়:

অনিরাপদ স্ক্রিনশট

ََََََََ


8
গুরুত্বপূর্ণ: এছাড়াও সচেতন থাকুন যে এই স্ক্রিনশটটি "কনফিগারেশন: অ্যাক্টিভ (ডিবাগ)" এর জন্য। আপনার সম্ভবত এটি প্রকাশ করতে হবে "রিলিজ" এর জন্য, যেহেতু সম্ভবত আপনি প্রকাশ করছেন তা সম্ভবত।
ডগ এস

4

সম্ভবত আপনি অনিরাপদ কোড ব্যবহার করছেন বলেই।

আপনি কোথাও পয়েন্টার বা পরিচালনা ব্যবস্থা ছাড়াই কিছু করছেন?


4

unsafeব্লক বা বিবৃতি জন্য আপনার কোড অনুসন্ধান করুন । এগুলি কেবল বৈধ সাথে সংকলিত হয় /unsafe


3

অনিরাপদ কোড ব্লকগুলি ব্যবহার করতে, প্রকল্পের জন্য বৈশিষ্ট্যগুলি খুলুন, বিল্ড ট্যাবে যান এবং অনিরাপদ কোডটিকে মঞ্জুর করুন চেকবক্সটি পরীক্ষা করুন, তারপরে সংকলন করুন এবং চালান।

class myclass
{
     public static void Main(string[] args)
     {
         unsafe
         {
             int iData = 10;
             int* pData = &iData;
             Console.WriteLine("Data is " + iData);
             Console.WriteLine("Address is " + (int)pData);
         }
     }
}

আউটপুট:

Data is 10
Address is 1831848

3

যে কেউ রাইডার ব্যবহার করে তাদের জন্য আপনার প্রকল্পটি> ডান ক্লিক> বৈশিষ্ট্য> কনফিগারেশন নির্বাচন করতে হবে তারপরে ডিবাগ নির্বাচন করুন এবং ছেড়ে দিন এবং উভয়ের জন্য "অনিরাপদ কোডটিকে মঞ্জুরি দিন" চেক করুন ।স্ক্রিনশট

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