আমার কনসোল অ্যাপ্লিকেশনটি সি # দিয়ে কী ডিরেক্টরিতে চলছে তা আমি কীভাবে জানতে পারি?
উত্তর:
.Exe ফাইলটি যেখানে ডিরেক্টরিটি পেতে:
AppDomain.CurrentDomain.BaseDirectory
বর্তমান ডিরেক্টরি পেতে:
Environment.CurrentDirectory
System.AppContext.BaseDirectory
।
আপনার আবেদনে প্রদত্ত অধিকারের উপর নির্ভর করে, ছায়া অনুলিপি কার্যকর হয় কিনা এবং অন্যান্য প্রার্থনা এবং স্থাপনার বিকল্পগুলি, বিভিন্ন পদ্ধতি কার্যকর হতে পারে বা বিভিন্ন ফলাফল পেতে পারে তাই আপনাকে বুদ্ধি করে আপনার অস্ত্র চয়ন করতে হবে। এই কথাটি বলে, নীচের সমস্তগুলি সম্পূর্ণরূপে বিশ্বস্ত কনসোল অ্যাপ্লিকেশনের জন্য একই ফলাফল দেবে যা এটি যেখানে থাকে সেখানে মেশিনে স্থানীয়ভাবে কার্যকর করা হয়:
Console.WriteLine( Assembly.GetEntryAssembly().Location );
Console.WriteLine( new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath );
Console.WriteLine( Assembly.GetEntryAssembly().Location );
Console.WriteLine( Environment.GetCommandLineArgs()[0] );
Console.WriteLine( Process.GetCurrentProcess().MainModule.FileName );
সঠিক অনুমতিগুলির প্রয়োজনীয়তা দেখতে আপনাকে উপরের সদস্যদের ডকুমেন্টেশনের সাথে পরামর্শ করতে হবে।
পাথ.গেটডাইরেক্টরি নাম (সমাবেশ.গেটএক্সেকিউটিংএ্যাসবেশন ()। অবস্থান)
.NET- এ, আপনি System.Environment.CurrentDirectory
যে ডিরেক্টরিটি থেকে প্রক্রিয়া শুরু করেছিলেন তা পেতে ব্যবহার করতে পারেন ।
System.Reflection.Assembly.GetExecutingAssembly().Location
আপনাকে বর্তমানে নির্বাহী অ্যাসেমব্লির অবস্থানটি বলবে (এটি কেবলমাত্র আকর্ষণীয় যদি বর্তমানে কার্যকরকারী সমাবেশটি যে সমাবেশটি প্রক্রিয়া শুরু হয়েছিল তার অবস্থানের চেয়ে আলাদা কোথাও থেকে লোড করা হয়)।
উইন্ডোতে (ইউনিক্স ইত্যাদি সম্পর্কে নিশ্চিত নয়) কমান্ডলাইনে এটি প্রথম যুক্তি।
আরজিভিতে সি / সি ++ ফার্মস আইটেমটিতে
উইনাপি - গেটমডিউলফিলনেম (নুল, চর *, ম্যাক্সপ্যাথ)
আসুন যাক আপনার। নেট কোর কনসোল অ্যাপ্লিকেশন প্রকল্পের নাম ডেটাপ্রিপ।
প্রকল্প বেস ডিরেক্টরি পান:
Console.WriteLine(Environment.CurrentDirectory);
আউটপুট: ~ ডেটাপ্রিপ \ বিন \ ডিবাগ \ নেটকোর অ্যাপ 2.2
Get Project .csproj file directory:
string ProjectDirPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"..\..\..\"));
Console.WriteLine(ProjectDirPath);
আউটপুট: ~ ডেটাপ্রিপ
AppContext.BaseDirectory
.Net 5 এর জন্য ব্যবহার করুন ।