আমার কনসোল অ্যাপটি কোন ডিরেক্টরিতে চলছে তা আমি কীভাবে খুঁজে বের করব?


91

আমার কনসোল অ্যাপ্লিকেশনটি সি # দিয়ে কী ডিরেক্টরিতে চলছে তা আমি কীভাবে জানতে পারি?

উত্তর:


160

.Exe ফাইলটি যেখানে ডিরেক্টরিটি পেতে:

AppDomain.CurrentDomain.BaseDirectory

বর্তমান ডিরেক্টরি পেতে:

Environment.CurrentDirectory

4
ধন্যবাদ সি # .exe যখন একটি ফোল্ডারে থাকে তবে অন্য ফোল্ডার থেকে আহ্বান করা হয় (যেমন: এটি যখন সিস্টেম PATH এ থাকে) থেকে সহায়তা করে
ডিপস্পেস 101

14
.NET কোর জন্য, এটি হয় System.AppContext.BaseDirectory
নাইটওয়েল ৮৮৮

15

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

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 );

সঠিক অনুমতিগুলির প্রয়োজনীয়তা দেখতে আপনাকে উপরের সদস্যদের ডকুমেন্টেশনের সাথে পরামর্শ করতে হবে।



3

.NET- এ, আপনি System.Environment.CurrentDirectoryযে ডিরেক্টরিটি থেকে প্রক্রিয়া শুরু করেছিলেন তা পেতে ব্যবহার করতে পারেন ।
System.Reflection.Assembly.GetExecutingAssembly().Locationআপনাকে বর্তমানে নির্বাহী অ্যাসেমব্লির অবস্থানটি বলবে (এটি কেবলমাত্র আকর্ষণীয় যদি বর্তমানে কার্যকরকারী সমাবেশটি যে সমাবেশটি প্রক্রিয়া শুরু হয়েছিল তার অবস্থানের চেয়ে আলাদা কোথাও থেকে লোড করা হয়)।


1

উইন্ডোতে (ইউনিক্স ইত্যাদি সম্পর্কে নিশ্চিত নয়) কমান্ডলাইনে এটি প্রথম যুক্তি।

আরজিভিতে সি / সি ++ ফার্মস আইটেমটিতে

উইনাপি - গেটমডিউলফিলনেম (নুল, চর *, ম্যাক্সপ্যাথ)


হ্যাঁ, নেট। নেটেও এটি একই। প্রথম আরগ হ'ল সর্বদা এক্সিকিউটেবলের পুরো পথ।
অ্যাডাম নীল

1

অ্যাপ্লিকেশন.স্টার্টআপ;


কিছু ডকুমেন্টেশন লিঙ্ক যত্ন?
জন শিহান

0

আসুন যাক আপনার। নেট কোর কনসোল অ্যাপ্লিকেশন প্রকল্পের নাম ডেটাপ্রিপ।

প্রকল্প বেস ডিরেক্টরি পান:

Console.WriteLine(Environment.CurrentDirectory);

আউটপুট: ~ ডেটাপ্রিপ \ বিন \ ডিবাগ \ নেটকোর অ্যাপ 2.2

Get Project .csproj file directory:
string ProjectDirPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"..\..\..\"));
Console.WriteLine(ProjectDirPath);

আউটপুট: ~ ডেটাপ্রিপ


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