Vshost.exe ফাইলটির উদ্দেশ্য কী?


483

যখন আমি একটি "হ্যালো, ওয়ার্ল্ড!" তৈরি এবং সংকলন করি সি # তে অ্যাপ্লিকেশন পেয়েছি, আমি ডিবিগ ফোল্ডারে মূল এক্সিটি (যেমন হ্যালো ওয়ার্ল্ড.এক্সই) বাদে তিনটি ফাইল পেয়েছি

  1. HelloWorld.vshost.exe
  2. HelloWorld.pdb
  3. HelloWorld.vshost.exe.manifest

এই ফাইলগুলি কী উদ্দেশ্যে কাজ করে?

উত্তর:


416

Vshost.exe বৈশিষ্ট্যটি ভিজ্যুয়াল স্টুডিও 2005 এর সাথে চালু করা হয়েছিল (আপনার মন্তব্যের জবাব দেওয়ার জন্য)।

এর উদ্দেশ্যটি বেশিরভাগই ডিবাগিং লঞ্চটিকে দ্রুততর করা - মূলত ফ্রেমওয়ার্ক চলমান নিয়ে ইতিমধ্যে একটি প্রক্রিয়া রয়েছে, আপনি যত তাড়াতাড়ি চান আপনার অ্যাপ্লিকেশনটি লোড করার জন্য প্রস্তুত।

দেখুন এই দুটিই MSDN নিবন্ধ এবং এই ব্লগ পোস্টে আরও তথ্যের জন্য।


29
সুতরাং যে কারণে যখন আমি ডিবাগার থেকে Console.Write (System.AppDomain.CurrentDomain.FriendlyName) চালানো, আমি app.vshost.exe পেতে এবং যখন আমি EXE থেকে সরাসরি চালানো আমি app.exe যেমন আউটপুট পাবেন
Milen

@Milen, msdn.microsoft.com/en-us/library/ms242202.aspx সঙ্গে এবং হোস্ট প্রক্রিয়া ছাড়া AppDomain.CurrentDomain.FriendlyName বিভিন্ন ফলাফলের উল্লেখ করেছে।
থমসন

2
যদি ডিবাগিংয়ের উদ্দেশ্যে যদি vschost এবং .pdb ফাইল বিদ্যমান থাকে, তবে আমি যখন প্রকাশের ক্ষেত্রে সংকলন করব তখন কেন সেগুলি অন্তর্ভুক্ত থাকবে?
ইলিকেটোড

1
আমার ধারণা তারা ভিজ্যুয়াল স্টুডিও 2017 এ এটিকে সরিয়ে দিয়েছে
ফিলিপ ফুজি পেসটো

175
  • .exe - 'সাধারণ' এক্সিকিউটেবল

  • .vshost.exe - ডিবাগিংয়ে সহায়তা করার জন্য এক্সিকিউটেবলের একটি বিশেষ সংস্করণ; বিশদ জানতে এমএসডিএন দেখুন

  • .pdb - ডিবাগ প্রতীক সহ প্রোগ্রামের ডেটা বেস

  • .vshost.exe.manifest - এক ধরণের কনফিগারেশন ফাইল যা বেশিরভাগ লাইব্রেরিতে নির্ভর করে


62

Vshost.exe ফাইলটি ভিজ্যুয়াল স্টুডিও দ্বারা চালিত এক্সিকিউটেবল (ভিজ্যুয়াল স্টুডিও হোস্ট এক্সিকিউটেবল)। এটি এক্সিকিউটেবল যা ভিজ্যুয়াল স্টুডিওতে লিঙ্ক করে এবং ডিবাগিং উন্নত করে।

আপনি যখন অন্যদের কাছে আপনার অ্যাপ্লিকেশন বিতরণ করছেন, আপনি vshost.exe বা .pdb (ডিবাগ ডাটাবেস) ফাইল ব্যবহার করবেন না।


আমার মনে আছে আমাদের ভিএস ২০০৩ এ এ জাতীয় নির্বাহযোগ্য ছিল না (তবুও আমাদের ব্রেকপয়েন্ট রয়েছে)। আপনি কি এ সম্পর্কে বিস্তারিত বলতে পারেন?
মেহরদাদ আফশারি

1
তদ্ব্যতীত, ম্যানিফেস্টটি অ্যাপ্লিকেশনটি সম্পর্কে মেটাডেটা হয় যা সাধারণত সম্পাদনের সাথে যুক্ত হয়। .Pdb ফাইলটি একটি পোর্টেবল ডিবাগ ডেটাবেস এবং এতে সংকলিত নির্বাহী সম্পর্কে ডিবাগ তথ্য থাকে, যেমন এক্সিকিউটেবলের কোন বিন্দু কোডের সাথে কোন লাইনের সাথে মিলে যায়।
জোয়

3
ভিএস হোস্ট প্রক্রিয়াটি কেবল ডিবাগিং উন্নত করতে ব্যবহৃত হয় - তবে এটি ডিবাগিং সক্ষম করে না।
ড্যানিয়েল ব্রুকনার

23

উপর যোগ করার পদ্ধতি, আপনি আপনার জন্য vshost ফাইলের সৃষ্টি বন্ধ করতে পারেন রিলিজ বিল্ড কনফিগারেশন এবং এটির জন্য সক্ষম করা ডিবাগ

ধাপ

  • প্রকল্পের বৈশিষ্ট্য > ডিবাগ > কনফিগারেশন (প্রকাশ)> ভিজ্যুয়াল স্টুডিও হোস্টিং প্রক্রিয়াটি অক্ষম করুন
  • প্রকল্পের বৈশিষ্ট্য > ডিবাগ > কনফিগারেশন (ডিবাগ)> ভিজ্যুয়াল স্টুডিও হোস্টিং প্রক্রিয়া সক্ষম করুন

VS2010 এর স্ক্রিনশট

উল্লেখ

  1. এমএসডিএন কীভাবে: হোস্টিং প্রক্রিয়াটি অক্ষম করুন
  2. এমএসডিএন হোস্টিং প্রক্রিয়া (vshost.exe)

থেকে উদ্ধৃতাংশ দুটিই MSDN কিভাবে: অক্ষম হোস্টিং প্রক্রিয়া

হোস্টিং প্রক্রিয়া সক্ষম থাকলে নির্দিষ্ট কিছু API- তে কলগুলি প্রভাবিত হতে পারে। এই ক্ষেত্রে, সঠিক ফলাফলগুলি ফিরিয়ে দিতে হোস্টিং প্রক্রিয়াটি অক্ষম করা প্রয়োজন।

হোস্টিং প্রক্রিয়াটি অক্ষম করতে

  1. ভিজ্যুয়াল স্টুডিওতে একটি এক্সিকিউটেবল প্রকল্প খুলুন। যে প্রকল্পগুলি এক্সিকিউটেবল উত্পাদন করে না (উদাহরণস্বরূপ, বর্গ গ্রন্থাগার বা পরিষেবা প্রকল্প) তাদের এই বিকল্প নেই।
  2. উপর প্রকল্প মেনু ক্লিক করুন প্রোপার্টি
  3. ডিবাগ ট্যাব ক্লিক করুন ।
  4. ভিজ্যুয়াল স্টুডিও হোস্টিং প্রক্রিয়া সক্ষম করুন চেক বক্সটি সাফ করুন ।

যখন হোস্টিং প্রক্রিয়াটি অক্ষম থাকে, তখন বেশ কয়েকটি ডিবাগিং বৈশিষ্ট্য অনুপলব্ধ থাকে বা কর্মক্ষমতা হ্রাস পায়। আরও তথ্যের জন্য, ডিবাগিং এবং হোস্টিং প্রক্রিয়া দেখুন

সাধারণভাবে, যখন হোস্টিং প্রক্রিয়াটি অক্ষম থাকে:

  • ডিবাগিং শুরু করার জন্য সময় প্রয়োজন N নেট ফ্রেমওয়ার্ক অ্যাপ্লিকেশনগুলি বৃদ্ধি পায়।
  • ডিজাইন-সময় অভিব্যক্তি মূল্যায়ন অনুপলব্ধ।
  • আংশিক বিশ্বাস ডিবাগিং অনুপলব্ধ।

10

আমি নিশ্চিত নই, তবে আমি বিশ্বাস করি এটি একটি ডিবাগিং অপটিমাইজেশন। তবে, আমি সাধারণত এটি বন্ধ করে দিই (প্রকল্পের জন্য ডিবাগের বৈশিষ্ট্যগুলি দেখুন) এবং আমি কোনও ধীরগতি লক্ষ্য করি না এবং এটি যখন ডিবাগিংয়ের ক্ষেত্রে আসে তখন আমি কোনও সীমাবদ্ধতা দেখতে পাই না।


"গার্ড" কি? এখানে একটি উত্তর সহ একটি ব্যবহারকারীর রেফারেন্স? অন্যকিছু? আপনি কি নিজের উত্তরটি আপডেট করতে পারবেন (যেমন কোনও সরাসরি লিঙ্ক সহ, ব্যবহারকারীর নাম যে কোনও সময় পরিবর্তন করতে পারে)?
পিটার মর্টেনসেন

আমি মনে করি এটি অন্য উত্তরের একটি রেফারেন্স ছিল, তবে এটি ছিল 09 সালে সুতরাং আমি যদি বিবরণটি মনে না করি তবে আমাকে ক্ষমা করুন।
ব্রায়ান রাসমুসেন

2

এটি ডিবাগিংয়ের জন্য দীর্ঘ সময়ের চলমান কাঠামো প্রক্রিয়া বলে মনে হচ্ছে (বোঝার সময় হ্রাস করতে?) আমি আবিষ্কার করেছি যে আপনি যখন ডিবেগার থেকে দুবার আপনার অ্যাপ্লিকেশন শুরু করেন তখন প্রায়শই একই vshost.exe প্রক্রিয়া ব্যবহৃত হবে। এটি প্রথমে প্রথমে সমস্ত ব্যবহারকারী-লোডড ডিএলএলগুলি আনলোড করে। আপনি যদি পরিচালনা করা প্রক্রিয়াগুলি থেকে API হুকের সাথে বোকা বানাচ্ছেন তবে এটি অদ্ভুত জিনিসগুলি করে।


1
অবিচ্ছিন্ন প্রক্রিয়াটিও ব্যতিক্রম (অ্যাক্সেস লঙ্ঘন) ঘটায় যখন আমার প্রকল্পে পি / ইনভোক করার কিছু কোড থাকে। হোস্ট প্রক্রিয়াটি অক্ষম করার পরে সমস্যাটি অদৃশ্য হয়ে গেল।
থমসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.