এই পোস্টটি @ ম্যাট হাওলসের জবাব বাড়ানোর উদ্দেশ্যে করা হয়েছে, বিশেষত যারা ভিস্তা বা উইন 7 এর অধীনে জব অবজেক্টগুলি ব্যবহার করে সমস্যায় পড়েছেন তাদের জন্য , বিশেষত যদি আপনি AssignProcessToJobObject কল করার সময় অ্যাক্সেস অস্বীকার ত্রুটি ('5') পেয়ে থাকেন।
TL; ড
ভিস্তা এবং উইন 7 এর সাথে সামঞ্জস্যতা নিশ্চিত করতে, .NET প্যারেন্ট প্রসেসে নিম্নলিখিত ম্যানিফেস্ট যুক্ত করুন:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
<v3:security>
<v3:requestedPrivileges>
<v3:requestedExecutionLevel level="asInvoker" uiAccess="false" />
</v3:requestedPrivileges>
</v3:security>
</v3:trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<!-- We specify these, in addition to the UAC above, so we avoid Program Compatibility Assistant in Vista and Win7 -->
<!-- We try to avoid PCA so we can use Windows Job Objects -->
<!-- See https://stackoverflow.com/questions/3342941/kill-child-process-when-parent-process-is-killed -->
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
মনে রাখবেন যে আপনি যখন ভিজ্যুয়াল স্টুডিও 2012-এ নতুন ম্যানিফেস্ট যুক্ত করবেন এটিতে উপরের স্নিপেটটি ইতিমধ্যে থাকবে সুতরাং আপনার এটি শ্রবণ থেকে অনুলিপি করার দরকার নেই। এটি উইন্ডোজ 8 এর জন্য একটি নোডও অন্তর্ভুক্ত করবে।
সম্পূর্ণ ব্যাখ্যা
আপনি যে প্রক্রিয়াটি শুরু করছেন তা ইতিমধ্যে অন্য কোনও কাজের সাথে যুক্ত থাকলে আপনার চাকরি সমিতি কোনও অ্যাক্সেস প্রত্যাখ্যান ত্রুটির সাথে ব্যর্থ হবে। প্রোগ্রামের সামঞ্জস্য সহকারী প্রবেশ করুন, যা উইন্ডোজ ভিস্তার মধ্যে শুরু করে, তার নিজস্ব কাজগুলিতে সমস্ত ধরণের প্রক্রিয়া বরাদ্দ করবে।
ভিস্তার মধ্যে আপনি কেবল অ্যাপ্লিকেশন ম্যানিফেস্টিটি অন্তর্ভুক্ত করে আপনার অ্যাপ্লিকেশনটিকে পিসিএ থেকে বাদ দেওয়ার জন্য চিহ্নিত করতে পারেন। ভিজ্যুয়াল স্টুডিওগুলি NET অ্যাপ্লিকেশনগুলির জন্য স্বয়ংক্রিয়ভাবে এটি করছে বলে মনে হয় আপনি সেখানে ভাল আছেন।
একটি সাধারণ ম্যানিফেস্ট এটি আর উইন 7 এ কাটবে না। [1] সেখানে, আপনাকে নির্দিষ্টভাবে উল্লেখ করতে হবে যে আপনি উইনি 7 এর সাথে আপনার ম্যানিফেস্টে থাকা ট্যাগের সাথে সামঞ্জস্যপূর্ণ। [2]
এটি আমাকে উইন্ডোজ ৮ সম্পর্কে চিন্তিত করতে পরিচালিত করেছিল আমাকে কী আবার আমার ম্যানিফেস্টে পরিবর্তন করতে হবে? স্পষ্টতই মেঘগুলিতে একটি বিরতি রয়েছে, উইন্ডোজ 8 এখন এক প্রক্রিয়াটিকে একাধিক কাজের সাথে যুক্ত করতে দেয়। [3] সুতরাং আমি এটি এখনও পরীক্ষা করে দেখিনি, তবে আমি কল্পনা করি যে আপনি যদি সমর্থিতOS তথ্যের সাথে কেবল একটি প্রকাশ অন্তর্ভুক্ত করেন তবে এই উন্মাদনাটি এখনই শেষ হয়ে যাবে।
টিপ ঘ : আপনি যদি ভিজুয়াল স্টুডিওর সাথে একটি নেট অ্যাপ বিকাশ করছেন তবে আমি যেমন ছিলাম, [4] আপনার অ্যাপ্লিকেশন ম্যানিফেস্টকে কীভাবে কাস্টমাইজ করতে হয় তার জন্য কয়েকটি দুর্দান্ত নির্দেশনা।
টিপ 2 : ভিজ্যুয়াল স্টুডিও থেকে আপনার অ্যাপ্লিকেশন চালু করার বিষয়ে সতর্কতা অবলম্বন করুন। আমি দেখতে পেলাম যে যথাযথ মেনিফেস্ট যুক্ত করার পরে, ভিজুয়াল স্টুডিও থেকে লঞ্চ করার সময় আমার পিসিএ নিয়ে সমস্যা ছিল, এমনকি আমি ডিবাগিং ছাড়াই স্টার্ট ব্যবহার করি না কেন। এক্সপ্লোরার থেকে আমার অ্যাপ্লিকেশন চালু করা কাজ করেছে। ম্যানুয়ালি রেজিস্ট্রি ব্যবহার করে পিসিএ থেকে বাদ দেওয়ার জন্য দেভেনভ যুক্ত করার পরে, ভিএস থেকে জব অবজেক্ট ব্যবহার করা অ্যাপ্লিকেশনগুলিও কাজ শুরু করে। [5]
টিপ 3 : আপনি যদি পিসিএর সমস্যা কিনা তা জানতে চান, কমান্ড লাইন থেকে আপনার অ্যাপ্লিকেশন চালু করার চেষ্টা করুন, বা প্রোগ্রামটি একটি নেটওয়ার্ক ড্রাইভে অনুলিপি করুন এবং সেখান থেকে চালনা করুন। পিসিএ স্বয়ংক্রিয়ভাবে সেই সমস্ত প্রসঙ্গে অক্ষম।
[1] http://blogs.msdn.com/b/cjacks/archive/2009/06/18/pca-changes-for-windows-7-how-to-tell-us-you-are-not-an -installer-নিতে-2 কারণ-We-পরিবর্তিত-নিয়ম-অন-you.aspx
[২] http://ayende.com/blog/4360/how-to-opt-out-of-program-compatibility-assistance
[3] http://msdn.microsoft.com/en-us/library/windows/desktop/ms681949(v=vs.85).aspx : "উইন্ডোজ 8 এ একাধিক কাজের সাথে একটি প্রক্রিয়া যুক্ত হতে পারে"
[4] আমি কীভাবে কোনও অ্যাপ্লিকেশনটিতে ভিএস ২০০8 ব্যবহার করে একটি অ্যাপ্লিকেশন ম্যানিফেস্ট এম্বেড করতে পারি?
[5] কীভাবে ভিজুয়াল স্টুডিও ডিবাগারটি কোনও কাজের উদ্দেশ্যে আমার প্রক্রিয়া শুরু করবেন?