আপডেট: এই বাগের পুনরুত্পাদনকারী একটি নমুনা প্রকল্পটি মাইক্রোসফ্ট কানেক্টে পাওয়া যাবে । আমি এটিও পরীক্ষা করে দেখেছি যাচাই করেছি যে নীচে স্বীকৃত উত্তরে প্রদত্ত সমাধান সেই নমুনা প্রকল্পে কাজ করে। যদি এই সমাধানটি আপনার পক্ষে কাজ করে না, আপনার সম্ভবত একটি ভিন্ন সমস্যা রয়েছে (যা একটি পৃথক প্রশ্নের সাথে সম্পর্কিত)।
এটি এখানে স্ট্যাক ওভারফ্লো এবং অন্যান্য জায়গাগুলিতে উভয়ই আগে জিজ্ঞাসা করা প্রশ্ন, তবে আমি এ পর্যন্ত পাওয়া পরামর্শগুলির কোনওোটাই আমাকে সহায়তা করেনি, সুতরাং আমাকে নতুন প্রশ্ন জিজ্ঞাসা করার চেষ্টা করতে হবে।
পরিস্থিতি: আমার কাছে একটি সাধারণ উইন্ডোজ ফর্ম অ্যাপ্লিকেশন রয়েছে (সি #,। নেট 4.0, ভিজ্যুয়াল স্টুডিও 2010)। এটিতে বেশ কয়েকটি বেস ফর্ম রয়েছে যা বেশিরভাগ অন্যান্য ফর্মগুলির উত্তরাধিকার সূত্রে প্রাপ্ত, এটি ডাটাবেস অ্যাক্সেসের জন্য সত্তা ফ্রেমওয়ার্ক (এবং পোকো ক্লাস) ব্যবহার করে। কিছুই অভিনব, মাল্টি থ্রেডিং বা কিছুই।
সমস্যা: কিছুক্ষণের জন্য সব ঠিক হয়ে গেল। তারপরে, আমি যখন অ্যাপ্লিকেশনটি চালু করতে যাচ্ছিলাম তখন নীল, ভিজ্যুয়াল স্টুডিও তৈরি করতে ব্যর্থ হয়েছিল। আমি সতর্কতা পেয়েছি "ফাইল ... মুছে ফেলতে অক্ষম '... বিন \ ডিবাগ \ [প্রকল্পের নাম]। এক্সে' the এবং ত্রুটি "" objজেজ \ x86 \ ডিবাগ \ [প্রকল্পের নাম] .exe 'থেকে' বিন bin ডিবাগ \ [প্রকল্পের নাম]। এক্সে 'ফাইলটি অনুলিপি করতে অক্ষম The প্রক্রিয়াটি' বিন \ ডিবাগ \ [প্রকল্পের নাম]। 'কারণ এটি অন্য প্রক্রিয়া দ্বারা ব্যবহৃত হচ্ছে। " (পুনর্নির্মাণ চলাকালীন আমি সতর্কতা এবং ত্রুটি উভয়ই পাই, তবে বিল্ড চলাকালীন কেবল ত্রুটি - এটিকে প্রাসঙ্গিক মনে করবেন না?)
আমি সতর্কতা এবং ত্রুটি বার্তায় যা বলেছে তা পুরোপুরি বুঝতে পেরেছি: ভিজ্যুয়াল স্টুডিও স্পষ্টতই এক্সি-ফাইলটি ওভাররাইট করার চেষ্টা করছে যখন একই কারণে কোনও কারণে এটির জন্য একটি লক রয়েছে। তবে এটি সমস্যার সমাধান খুঁজে পেতে আমাকে সহায়তা করে না ... আমি যা কাজ করেছি তার মধ্যে কেবলমাত্র ভিজ্যুয়াল স্টুডিও বন্ধ করে আবার এটি শুরু করা। বিল্ডিং এবং প্রবর্তন কাজ করে, ততক্ষণ আমি কিছু ফর্মটিতে পরিবর্তন আনব, তারপরে আমার আবার একই সমস্যা আছে এবং পুনরায় চালু করতে হবে ... হতাশ হ'ল!
আমি উপরে উল্লিখিত হিসাবে, এটি একটি পরিচিত সমস্যা বলে মনে হচ্ছে, তাই প্রস্তাবিত অনেকগুলি সমাধান রয়েছে। আমি এখানে ইতিমধ্যে যা চেষ্টা করেছি কেবল তার তালিকাবদ্ধ করব, যাতে লোকেরা কী এড়াতে পারে তা জানতে পারে:
- একটি নতুন পরিষ্কার সমাধান তৈরি করা এবং পুরানো সমাধান থেকে কেবল ফাইলগুলি অনুলিপি করুন।
প্রকল্পের প্রাক-বিল্ড ইভেন্টে নিম্নলিখিতগুলিতে নিম্নলিখিতটি যুক্ত করা:
if exist "$(TargetPath).locked" del "$(TargetPath).locked" if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"
প্রকল্পের বৈশিষ্ট্যগুলিতে নিম্নলিখিতগুলি যুক্ত করা হচ্ছে (.csproj ফাইল):
<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>
যাইহোক, তাদের কেউই আমার পক্ষে কাজ করেনি, তাই আপনি সম্ভবত দেখতে পাবেন যে আমি কেন কিছুটা হতাশ হতে শুরু করেছি। আমি জানি না কোথায় অন্য দিকে তাকান, তাই আমি আশা করি কারও কারও কাছে আমাকে কিছু দেওয়ার আছে! এটি কি ভিএস-এ কোনও বাগ, এবং যদি তাই হয় তবে কোনও প্যাচ আছে? বা আমি কিছু ভুল করেছি, আমার কি একটি বিজ্ঞপ্তি রেফারেন্স আছে বা অনুরূপ, এবং যদি তাই হয় তবে আমি কীভাবে এটি জানতে পারি?
কোন পরামর্শ অত্যন্ত প্রশংসা করা হয় :)
আপডেট করুন: হিসাবে মন্তব্যে উল্লেখ নিচে আমিও প্রক্রিয়া এক্সপ্লোরার ব্যবহার করে এটি আসলে পরীক্ষা করেছি হয় ভিসুয়াল স্টুডিও যে ফাইল লক করা হয়।