বিল্ড করার সময় 4 নম্বরের সাথে কমান্ড অনুলিপিটি প্রস্থান করা হয়েছে - ভিজ্যুয়াল স্টুডিও পুনঃসূচনা এটি সমাধান করে


151

প্রতিবার এবং পরে আমি যখন এখানে আমার সমাধানটি তৈরি করি (এতে 7 টি প্রকল্প রয়েছে) তখন ভিজুয়াল স্টুডিও 2010 প্রিমিয়াম এডে আমি ভয়ঙ্কর 'কোড 4 সহ ত্রুটিযুক্ত কমান্ড অনুলিপিটি পেয়েছি।

এটি পোস্ট-বিল্ড ইভেন্টের মধ্য দিয়ে যেতে না পারার কারণে।

অস্থায়ীভাবে সমস্যাটি সমাধান করে তা এখানে

  • কখনও কখনও: ভিজ্যুয়াল স্টুডিওর পুনঃসূচনা এবং আমি সমাধানটি তৈরি করতে সক্ষম
  • কখনও কখনও: উভয়ই ভিজ্যুয়াল স্টুডিওর পুনঃসূচনা এবং আমার পছন্দের ফাইল পরিচালক (কিউ-দির ৪.3737) এটি সমাধান করে।

বিল্ড-পরবর্তী ইভেন্টটি দেখতে দেখতে এখানে কী:

xcopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)" /Y

আপনি কোড [সন্নিবেশ মান] ত্রুটি সহ কমান্ড অনুলিপিটি বেরিয়ে এলে এটি সাধারণত নিম্নলিখিত কারণে থাকে:

  • অনুমতি পড়ুন / লিখুন
  • অনুপস্থিত ফাইল
  • ভুল ডিরেক্টরি

তবে - স্পষ্টতই আমি যখন সমাধানটি তৈরি করি তখন কোনও সমস্যা হয় না।

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

আপনি কি একই সমস্যা পেয়েছেন এবং সমাধান করেছেন? অথবা আপনার এর কোনও সম্ভাব্য সমাধান রয়েছে?

উত্তর:


74

আমি অবশ্যই এটি একটি ফাইল লকিংয়ের সমস্যা হিসাবে পেয়েছি। কোড 4 হ'ল ফাইল অ্যাক্সেস করা যায় না। একটি আংশিক সমাধান আমি খুঁজে পেয়েছি হ'ল এক্সকপির জন্য / সি বিকল্পটি ব্যবহার করা (যা ত্রুটি অব্যাহত থাকে)। আসলেই কোনও সমাধান নয় তবে বেশিরভাগ ক্ষেত্রে এটি আমার বিল্ডগুলি ব্যর্থ হওয়া থেকে থামিয়ে দিয়েছে।

অন্য একটি সমাধান যা শুধুমাত্র 32 বিটের উপর কাজ করে তা হ'ল অনুলকার সরঞ্জামটি অনুলিপি সরঞ্জামটি অনুলিপি করার আগে ফাইলটিতে উইন্ডোজ হ্যান্ডলগুলি ছেড়ে দেয়।

সম্পাদনা: আমি ঠিক বুঝতে পেরেছি যে এটি 64 বিটেরও অধীনে কাজ করে।


3
আমি উপরের এক্সকপি কমান্ডে / সি বিকল্প যুক্ত করেছি এবং বিল্ডটি সফল হয়েছে। ধন্যবাদ! আনলককারী অনেক সময় অমূল্য হয়।
মার্টিন এস এক

2
আমার এই সমস্যাটি ছিল কারণ ফাইলগুলির মধ্যে একটি কেবল পঠনযোগ্য। একবার আমি এটি পরিবর্তন করেছি, এটি কাজ করেছিল।
বব হর্ন

আমি প্রমাণও করতে পারি যে আপত্তিজনক ফাইলগুলিতে কেবল পঠন করার অনুমতি সরিয়েই এই সমস্যাটির সমাধান হয়েছে। আমাদের কাছে একটি বাহ্যিক বিন ফোল্ডার রয়েছে যা সমস্যার বর্ণনা দিয়েছিল। একবার আমি কেবল পঠনযোগ্য বৈশিষ্ট্যটি সরিয়ে দিই, সমাধানটি তৈরি করার চেষ্টা করার সময় ত্রুটিটি অদৃশ্য হয়ে গেল।
eniacAvenger

3
আপনি যে দিকে আনলোকটি দেখিয়েছেন এটি প্রায় সব কিছু দ্বারা একটি ভাইরাস হিসাবে সনাক্ত করা হয়েছে। (গুগল নিরাপদ ব্রাউজ স্টাফ, ইজেট, ভাইরাসটাল ...)। এখানে এটি সম্পর্কে আলোচনা হতে পারে বলে মনে হচ্ছে cnet.com/forums/discussion/unlocker-contains-malware-558941
v.oddou

এই উত্তরটি কত পুরানো তা মনে রাখবেন। আপনি যে ভাইরাসটিকে অভিযুক্ত করছেন এটি হ'ল বিজ্ঞাপনের জিনিসপত্র যা এখন ইনস্টলারের মধ্যে আনলকার সফটওয়্যার নয় বরং বান্ডিল বলে মনে হয়।
প্রীত সংঘ 6

196

যদিও /Cত্রুটি উপেক্ষা পারে, এটা বাস্তব সমাধান হিসেবে সেখানে ফাইল বিল্ড করার জন্য অনুলিপি করা আবশ্যক সফল হতে হতে পারে নাও হতে পারে।

সর্বাধিক সাধারণ সমস্যাটি হ'ল প্রাক-সংজ্ঞায়িত কমান্ড ট্যাগগুলির চারপাশে অনুপস্থিত উদ্ধৃতি (যেমন $TargetDir)। কোড বা টিএফএসে যখন কেউ বিভিন্ন শাখা এবং পাথ তৈরি করে, তখন এটি হওয়ার খুব বেশি সম্ভাবনা থাকে।

কখনও কখনও যদি ফাইলটি কেবল পঠিত হয় তবে এটি সমস্যার কারণও তৈরি করবে। /Rকেবল পঠনযোগ্য ফাইলগুলি অনুলিপি করার জন্য বিকল্প যুক্ত করুন । আপনি এখানে উপলব্ধ বিকল্পগুলির তালিকা পেতে পারেন:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true

আর একটি সম্ভাব্য সমস্যা হ'ল অন্তর্নিহিত ফোল্ডারটি অ্যাক্সেস করা যায় না। যদি তা হয় তবে "start xcopy"পরিবর্তে পারফর্ম করার চেষ্টা করছি "xcopy"। এটি অন্য কমান্ড উইন্ডোটি খুলবে তবে অ্যাডমিন প্রাইভেলিজ সহ।


53
'স্টার্ট' এটি আমার জন্য স্থির করেছে ... অন্য ফোরামে থেকে এটি মনে হয় কোনও অনুমতি ইস্যু যা 'শুরু' সমাধান করে, যদিও গন্তব্যে আমার বাক্সে 'প্রত্যেকের' জন্য ফুলকন্ট্রোল রয়েছে। এছাড়াও, আপনি উইন্ডো
ফ্লিকারটি

2
আমি সি: \ উইন্ডোজ \ system32 \ xcopy.exe $ (টার্গেটপথ) <গন্তব্য পথ> থেকে সি: \ উইন্ডোজ \ সিস্টেম 32 \ xcopy.exe "$ (টার্গেটপথ)" <গন্তব্য পথ> পরিবর্তন করেছি এবং শেষ 50+ তে কোনও সমস্যা নেই তৈরী করে।
পেনিরাভে

1
আমি "$ (আউটডায়ার) $ (টার্গেটফিলনেম)" ব্যবহার করেছি, এটিকে "$ (টার্গেটপ্যাথ)" এ পরিবর্তন করে সমস্যার সমাধান করে। যেমন 'স্টার্ট' ব্যবহার করে!
surfen

আমার সমস্যাটি হাইফেনের পরিবর্তে প্যারেন্ট ফোল্ডারের একটিতে এন-ড্যাশ অক্ষর ব্যবহার করে আসছে বলে মনে হচ্ছে। আমি শব্দ থেকে শাখা ফোল্ডারের নাম অনুলিপি / পেস্ট করার একটি ভুল করেছি, যা "1234 - এবিসিডি" এর মতো কিছু ছিল। এটিকে "1234 - এবিসিডি" নামকরণ এবং এক্সকপি এখন দুর্দান্ত কাজ করে।
সুদীপ

যোগ করা হয়েছে startএবং /R, কেবলমাত্র ক্ষেত্রে ... কোনটি কৌশলটি করেছে তা নিশ্চিত নয়, তবে এটি কার্যকর হয়েছে! ধন্যবাদ!
sǝɯɐſ

19

আমি একই ত্রুটিটি অতিক্রম করেছি, তবে ফাইলটি লক হওয়ার কারণে এটি নয়, তবে ফাইলটি অনুপস্থিত।

ভিএস কোনও বিদ্যমান ফাইলটি অনুলিপি করার চেষ্টা করার কারণটি পোস্ট-বিল্ড ইভেন্ট কমান্ডের কারণে।

আমি এটি পরিষ্কার করার পরে, সমস্যার সমাধান হয়েছে।

হালনাগাদ:

@ রাঘুজে যেমন মন্তব্য করা হয়েছে:

আসল সমস্যাটি হ'ল কমান্ডটি এখানে কীভাবে সরিয়ে ফেলা যায় তার চেয়ে বেশি কাজ করা যায়।

এবং তিনি একদম ঠিক বলেছেন।

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


1
পোস্ট-বিল্ড করার সময় আপনি যদি কোনও ফাইল অনুলিপি করে থাকেন তবে সম্ভাবনার কারণ হ'ল আপনি এখানে একটি কমান্ড প্রবেশ করেছেন। আসল সমস্যাটি হ'ল কমান্ডটি এখানে কীভাবে সরিয়ে ফেলা যায় তার চেয়ে বেশি কাজ করা যায়।
rhughes

9

আমিও এই সমস্যার মুখোমুখি হয়েছি the ত্রুটি উইন্ডোতে ফলাফলটি পরীক্ষা করুন ble

আমার ক্ষেত্রে, একটি টেলিং \এক্সকপি ক্র্যাশ করছে (যেমন আমি ব্যবহার করছিলাম $(TargetDir))। আমার ক্ষেত্রে $(SolutionDir)..\bin। আপনি যদি অন্য কোনও আউটপুট ব্যবহার করেন তবে এটি সামঞ্জস্য করা দরকার।

এছাড়াও নোট করুন যে start xcopyএটি সংশোধন করে না, সংকলনের পরে যদি ত্রুটি চলে যায়। এটি কেবলমাত্র কমান্ড লাইন দ্বারা দমন করা হয়েছে এবং কোনও ফাইলই আসলে অনুলিপি করা হয়নি!

আপনি কমান্ড শেলটিতে আপনার xcopy কমান্ডগুলি ম্যানুয়ালি বিটিডব্লু করতে পারেন। আপনাকে সেগুলি কার্যকর করার সময় আপনি আরও সঠিক দিকটি নির্দেশ করবেন direction


আমার (Out (আউটডির)) ক্ষেত্রেও একই ঘটনা ঘটেছে। দেখে মনে হচ্ছে যে সমস্ত পাথ ম্যাক্রোগুলির শেষে একটি "\" রয়েছে এবং এটি
এক্সকপি

6

কোনও বিল্ড আউটপুটে কোনও ডিরেক্টরিতে বিল্ড আউটপুট অনুলিপি করার জন্য কপি / এক্সকপি কমান্ড থাকা ক্ষেত্রে (যা সাধারণত সর্বাধিক সাধারণ পোস্ট বিল্ড অপারেশন হয়) যদি উত্স বা লক্ষ্যস্থলের সম্পূর্ণ ডিরেক্টরি পথের মধ্যে ফোল্ডারের নাম থাকে তবে সমস্যাটি দেখা দিতে পারে স্পেস। ডিরেক্টরি নাম (গুলি) এর জন্য স্থান সরান এবং চেষ্টা করুন।


5

অনেক সাইটে উল্লিখিত হিসাবে এর বিভিন্ন কারণ রয়েছে। আমার জন্য এটি উত্স এবং গন্তব্য দৈর্ঘ্যের (পথ দৈর্ঘ্য) কারণে ছিল। আমি কমান্ড প্রম্পটে xcopy চেষ্টা করেছি এবং আমি সম্পূর্ণ উত্স এবং পাথ টাইপ করতে অক্ষম ছিলাম (কিছু অক্ষরের পরে এটি আপনাকে টাইপ করতে দেয় না)। আমি তখন পথের দৈর্ঘ্য হ্রাস করে চালাতে সক্ষম হয়েছি। আশাকরি এটা সাহায্য করবে.


4

প্রশাসক মোডে ভিএস চালান এবং এটি ঠিকঠাক কাজ করা উচিত।


1
আমি প্রশাসক হিসাবে ভিএস চালাচ্ছি তবে এটি আমার পক্ষে কার্যকর হয়নি।
আরাফাত

কিছু ব্যবহারকারী প্রশাসক মোডে চালাতে অক্ষম হতে পারে।
মিস্টারস্পডাস্টিক

3

আমি এই ত্রুটিটি পেয়েছি কারণ টিএফএস বিল্ড পরিষেবা যে ব্যবহারকারী অ্যাকাউন্টের অধীনে চলছে সেটির গন্তব্য ফোল্ডারে লেখার অনুমতি নেই। Right-click on the folder-->Properties-->Security


"ট্যাঙ্গোডান্সার" এবং বা "আবদুল রহমান" এর প্রতি হ্যাটস। ফোল্ডারে ডান ক্লিক করুন -> বৈশিষ্ট্য -> সুরক্ষা আমার পক্ষে একা একা স্ট্যান্ডে সমস্যার সমাধান করে এক্সপি এসপি 3 সিস্টেম আপনাকে ধন্যবাদ

3

এটি একাধিক ক্ষেত্রে ঘটতে পারে:

  1. যখন সম্পূর্ণ স্ট্রিং পাথ 254 টি অক্ষরের চেয়ে দীর্ঘ হয়।
  2. ফাইলটির নাম অনুলিপি করা যখন ভুল হয়।
  3. যখন লক্ষ্যের পথটি ভুল হয় is
  4. যখন পঠনযোগ্য বৈশিষ্ট্য অনুলিপি করা ফাইল বা লক্ষ্য ফোল্ডারে সেট করা থাকে।

2

আমি এই ত্রুটিটি পেয়েছি কারণ ফাইলটি অন্য একটি ক্ষেত্রে খোলা হয়েছিল।

আমি যখন ফাইলটি বন্ধ করে দিয়েছিলাম এবং আবার সমাধানটি আবার তৈরি করি তখন এটি সফলভাবে অনুলিপি করা হয়েছিল।


2

বিল্ডটি শেষ হওয়ার পরে XCOPY এর ক্ষেত্রেও আমি একই সমস্যার মুখোমুখি হয়েছি। আমার ক্ষেত্রে সমস্যাটি হ'ল ফোল্ডারে কেবলমাত্র অনুমতি পড়ার কারণে।

আমি এক্সসিপিওয়াইয়ের আগে অ্যাট্রিবিউট -আর কমান্ড যুক্ত করেছি এবং এটি সমস্যার সমাধান করেছে।

আশা করি এটি কাউকে সাহায্য করবে!


2

টেস্ট ইঞ্জিনের সাথে আমার এক্সকপির সাথে একই ত্রুটি ছিল। আমি ভিজুয়ালস্টুডিও প্রফেশনাল 2013 ব্যবহার করছি default এটি বন্ধ করে দেওয়া সমস্যার সমাধান করে এক্সিকিউশন ইঞ্জিনটি কিছু .dlls ধরে রেখেছে বলে মনে হচ্ছে।


1

আমারও একই সমস্যা ছিল। ভিএস-এর একটি সাধারণ 'ক্লিন সলিউশন' ত্রুটিটি সাফ করেছে, তবে এটি ছিল একটি অস্থায়ী সমাধান।


আমি এই সমস্যাটি পাচ্ছি এবং "ক্লিন সলিউশন" আমাকে সাহায্য করেনি। "ক্লিন সলিউশন" আপনার জন্য কি প্রতিবার কাজ করে?
qxotk

1

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


1

আমারও একই সমস্যা ছিল। তবে আমার পক্ষে কিছুই কাজ করেনি। আমি যোগ করে সমস্যাটি সমাধান করেছি

exit 0

আমার কোড সমস্যাটি ছিল যে আমি যখন ফাইলগুলি অনুলিপি করছিলাম তখন কখনও কখনও শেষ ফাইলটি খুঁজে পাওয়া যায়নি এবং ব্যাটটি একটি শূন্য-মান না ফেরত।

আশা করি এটি কাউকে সাহায্য করবে!


1

আপনি যদি উইন্ডোজ 7 চালিয়ে যাচ্ছেন তবে আপনি নতুন 'রোবোকপি' কমান্ডটি ব্যবহার করতে পারেন:

robocopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)"

রোবোকপি সম্পর্কিত আরও তথ্য এখানে পাওয়া যাবে


1

আমি একই সমস্যা সম্মুখীন। আমি বিল্ড-পরবর্তী ইভেন্টগুলি মুছলাম এবং এটি কাজ শুরু করে। কিছু সময় যখন আমরা কিছু এসকিউএল উপাদান যুক্ত করি তখন এটি পোস্ট বিল্ড কমান্ডগুলি যুক্ত করতে পারে।


1

এক্সক্লুপি / / অপসারণ বিকল্পের সাহায্যে আমি অনুরূপ কিছু পাচ্ছি। আমার ক্ষেত্রে, আমি দেখতে পেয়েছি যে বিল্ড-পরবর্তী ইভেন্টটি সম্পাদনা করা (কমান্ডের পরে একটি নিউলাইনের মতো নির্দোষ কিছু) এবং প্রকল্পটি সংরক্ষণের ফলে ত্রুটি ঘটায় causes / বর্জন বিকল্পে উল্লিখিত ফাইলটিকে পুনরায় সেভ করার কারণে এটি আবার কাজ করে।


1

আমি যখন কোনও ডিএলএল লাইব্রেরি লিখছি তখন প্রোগ্রামটি এটি খুঁজে পেতে এবং লোড করতে পারে এমন লাইব্রেরিটি অনুলিপি করতে আমি xcopy কমান্ডটি ব্যবহার করেছি। প্রোগ্রামটি খোলার এবং বন্ধ করার বেশ কয়েকবার পরেও এটির একটি মুক্ত প্রক্রিয়া এখনও টাস্ক ম্যানেজারে ছিল যা আমি স্বীকৃতি জানাতে পারি নি।

যে কোনও প্রক্রিয়া থেকে ফাইলটি ব্যবহৃত হতে পারে এবং এটি বন্ধ করে দেখুন।


1

এটি আমার জন্য কী স্থির করেছে : আপনি যে প্রকল্পটি চান তার নির্দিষ্ট সমাধানটি অনুসন্ধান করুন অর্থাৎ সমস্ত প্রকল্পের সামগ্রিক সমাধান ফাইল নয়।

চেষ্টা করে দেখুন - আমি এখানে উল্লিখিত সমস্ত কিছু চেষ্টা করেছিলাম তবে কোন ফল হয় নি।


1

এটি কোনও ওয়েব-অ্যাপ হিসাবে পরামর্শ দেওয়ার জন্য আমি এখানে কিছুই দেখতে পাচ্ছি না তবে আমি নিজেই এই সমস্যাটি অনুভব করেছি - একটি বিল্ড-পরবর্তী ইভেন্টে আমি দুটি এক্সকপি কমান্ড পেয়েছি এবং তার মধ্যে একটি মাত্র ব্যর্থ হয়েছিল। কিছুতে ফাইলটিতে একটি লক ছিল এবং এটি ভিজ্যুয়াল স্টুডিও নয় (যেমন আমি এটি পুনরায় চালু করার চেষ্টা করেছি))

আমি যে ডেল তৈরি করলাম তা কেবলমাত্র অন্য জিনিসটি ছিল আইআইএস। এবং দেখুন এবং দেখুন,

একটি সাধারণ iisresetআমার জন্য কৌশলটি করেছে।


1

আমারো একই ইস্যু ছিল. এটি একই পতাকা দুটিবার থাকার কারণে হয়েছিল, উদাহরণস্বরূপ:

$ (ConfigurationName) == রিলিজ করেন (xcopy "$ (TargetDir) " "$ (SolutionDir) ডিপ্লোয়মেন্ট \ $ (ProjectName) \" / ই / ডি; / i / y পর্যন্ত / ঙ)

"/ E" পতাকাটি দু'বার প্রদর্শিত হবে তা লক্ষ্য করুন। সদৃশটি সরানো সমস্যার সমাধান করেছে।


1

আমার ক্ষেত্রে আমার $(OutDir)ছিল সহজভাবে ..\..\Build\কিছু আপেক্ষিক পথ। এবং, যখন আমি নিম্নোক্তভাবে এক্সকপি করার চেষ্টা করছিলাম তখন আমি xcopy /y "$(OutDir)Proj1.dll" "Anypath\anyfolder\"প্রস্থান কোড ত্রুটি 4 পেয়ে যাচ্ছিলাম।

যা ঘটছিল তা হ'ল এই কমান্ডটি নিজেই $ (আউটডির) (আমার ক্ষেত্রে বিল্ড ফোল্ডারে) সম্পাদিত হচ্ছিল এবং সেই ডিরেক্টরি নয় যেখানে প্রকল্পের সিএসপ্রোজ ফাইলটি ছিল (যেমনটি আমরা সাধারণত আশা করব)। অতএব, আমি File not foundত্রুটি পেতে থাকি (কোডটি প্রস্থান করার সাথে সাথে সম্পর্কিত)।

cdপোস্ট বিল্ড ইভেন্টগুলিতে না লিখে যতক্ষণ না এই ডিরেক্টরিটি কার্যকর করা হচ্ছে তা মুদ্রণের জন্য আমি এটি বের করতে পারিনি ।

সুতরাং, সংক্ষেপে বলা যায়, আমরা যদি ফাইলগুলি copy/ xcopyফাইলগুলিতে ইচ্ছা করি তবে $(OutDir)হয় "$(TargetDir)"(যা আউটপুট ডিরেক্টরিতে সম্পূর্ণ পথ) বা কোনও পথ নির্দিষ্ট করার প্রয়োজন নেই।


0

ভাগ করা ফোল্ডারগুলির সাথে ভিএমওয়্যার ওয়ার্কস্টেশন হতে পারে

আমার সর্বদা সমস্যা হয় যখন xcopyভিটিএম-এর ভাগ্যবান ফোল্ডার হিসাবে ভাগের ফোল্ডারটি ম্যাপ করা হয়।

আমি এটি ভিএম-তে চালিত স্ক্রিপ্ট এবং ভাগ করা ফোল্ডারের সামগ্রী মোছার মাধ্যমে সমাধান করেছি।


0

রগস উত্তরের উপর প্রসারিত করতে,

রোবোকপিটি সুন্দরভাবে কাজ করে, কেবল আপনাকে সাব ডিরেক্টরি অন্তর্ভুক্ত করতে /eএবং খালি ডিরেক্টরিগুলি অনুলিপি /sকরতে বা খালি ডিরেক্টরিগুলি বাদ দিয়ে সাব অন্তর্ভুক্ত করতে আপনাকে সাব ডিরেক্টরি অন্তর্ভুক্ত করতে হবে ase

এছাড়াও রোবোকপি কয়েকটি জিনিস ফিরিয়ে আনবে যেমন নতুন ফাইলগুলি অনুলিপি করা হয়েছিল, এর ফলে ভিএস অভিযোগ করবে কারণ 0 এর উপরে যে কোনও কিছু ব্যর্থতা এবং নতুন ফাইলগুলি পাওয়া গেলে রোবোকপি 1 ফিরে আসবে। এটি উল্লেখ করার মতো বিষয় যে রোবোকপিটি প্রথমে উত্স / ভাগের সাথে তুলনা করে এবং কেবলমাত্র আপডেট হওয়া / নতুন ফাইলগুলি অনুলিপি করে।

এই ব্যবহার কাছাকাছি পেতে:

(robocopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)") ^& IF %ERRORLEVEL% LEQ 4 exit /B 0

0

যদি আপনি এখানে থাকেন কারণ আপনার প্রকল্পটি কোনও বিল্ড সার্ভারে তৈরি করতে ব্যর্থ হয়েছে, তবে একটি দেব মেশিনে সূক্ষ্ম "ম্যানুয়ালি" তৈরি করে, এবং আপনি xcopyকেবল ডিবাগিংয়ের জন্য এবং কোনও ডেভ মেশিনে একটি উত্পাদন পরিবেশ অনুকরণ করার জন্য করছেন তবে আপনি দেখতে চাইতে পারেন এই সমাধানে:

https://stackoverflow.com/a/1732478/2279059

আপনি কেবল বিল্ড সার্ভার ব্যবহার করে পোস্ট বিল্ড ইভেন্টগুলি বন্ধ করে দিন

msbuild foo.sln /p:PostBuildEvent=

আপনার যদি অন্য পোস্ট বিল্ড ইভেন্টগুলি থাকে যা বিল্ড সার্ভারেও চালানো দরকার তবে এটি যথেষ্ট ভাল নয় এবং এটি সাধারণ সমাধান নয়। তবে, যেহেতু এই সমস্যার অনেকগুলি বিভিন্ন কারণ রয়েছে তাই সাধারণ সমাধান হতে পারে না। এই প্রশ্নের অনেকগুলি উত্তরগুলির মধ্যে একটি (এবং এর সদৃশগুলি) সম্ভবত সহায়তা করবে তবে এমন পদ্ধতির সাথে সাবধান থাকুন যেগুলি কেবল কোনওভাবে ত্রুটি পরিচালনার (যেমন xcopy /C) সমাধান করে। এগুলি আপনার পক্ষে বিশেষত বিল্ড সার্ভারের দৃশ্যেও কাজ করতে পারে তবে আমি মনে করি এটি যদি আরও নির্ভরযোগ্য হয় তবে যদি এটি ব্যবহার করা যায়।

এটিও পরামর্শ দেওয়া হয়েছে যে ভিজ্যুয়াল স্টুডিওর নতুন সংস্করণগুলির সাথে, সমস্যাটির আর অস্তিত্ব নেই, সুতরাং আপনি যদি কোনও পুরানো সংস্করণ ব্যবহার করেন তবে আপনার বিল্ড সরঞ্জামগুলি আপডেট করার বিষয়টি বিবেচনা করুন।


0

ত্রুটি কোড 4 এর অর্থ অনেক কিছু হতে পারে, সুতরাং আমি অন্য উত্তরগুলিও পড়ার পরামর্শ দিচ্ছি যতক্ষণ না আপনি আপনার পক্ষে কাজ করে এমন কোনও সমাধান খুঁজে পান এবং আপনি কেন এটি কাজ করে তা বুঝতে পারেন (কিছু সমাধান কেবল ত্রুটি পরিচালনা করা অক্ষম করে, যা কেবল সমস্যার মুখোশ ফেলতে পারে তবে তা নয়) ইহা সমাধান করো).

এটি সমান্তরাল বিল্ডিং সম্পর্কিত একটি ফাইল লকিংয়ের সমস্যা হতে পারে। সমান্তরাল বিল্ডিং ব্যবহার না করাই একটি কাজের কাজ। এটি ডিফল্ট আচরণ, তবে আপনি যদি -mবিকল্পটি ব্যবহার করে থাকেন তবে প্রকল্পগুলি সমান্তরালে নির্মিত হবে। নিম্নলিখিত বৈকল্পিকগুলি সমান্তরালভাবে প্রকল্পগুলি তৈরি করা উচিত নয়, সুতরাং আপনি ফাইল লকিং সমস্যায় চলে যাবেন না।

msbuild -m:1
msbuild -maxcpucount:1
msbuild

দ্রষ্টব্য, এখানে যা বলা হয়েছে তার বিপরীতে, এমনকি এমএসবাইল্ডের "সর্বশেষ" সংস্করণটির সাথে এটি ঘটে (ভিজ্যুয়াল স্টুডিও 2019 এর জন্য বিল্ড সরঞ্জামগুলি থেকে)।

সর্বোত্তম সমাধান সম্ভবত এটি নিশ্চিত করা আপনার কোনও বিল্ড-পরবর্তী ধাপে ফাইলগুলি অনুলিপি করার প্রয়োজন নেই। কিছু পরিস্থিতিতে, আপনি বিল্ড সার্ভারে এমএসবাইল্ডের সাথে বিল্ডিংয়ের পরে পোস্ট-বিল্ড পদক্ষেপগুলিও অক্ষম করতে পারেন: https://stackoverflow.com/a/55899347/2279059

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