.NET में कंसोल ऐप्लिकेशन के executable फ़ाइल का पथ कैसे प्राप्त करें?
सभी को नमस्ते! मैं C# (.NET 6) में एक कंसोल ऐप्लिकेशन लिख रहा हूँ, और मुझे उस फ़ोल्डर का पथ चाहिए जहाँ मेरी .exe फ़ाइल स्थित है। मैंने कई तरीके आज़माए, लेकिन परिणाम भ्रमित करने वाले हैं।
उदाहरण के लिए, मैं ऐप्लिकेशन को `C:\MyApp` फ़ोल्डर से चलाता हूँ, लेकिन चाहता हूँ कि वह उसी डायरेक्टरी से `settings.json` फ़ाइल पढ़े। मैंने यह आज़माया:
```csharp
string path = Environment.CurrentDirectory;
Console.WriteLine(path);
```
लेकिन जब मैं कमांड लाइन से ऐप्लिकेशन चलाता हूँ, और दूसरे फ़ोल्डर में होता हूँ, तो `C:\MyApp` नहीं, बल्कि वर्तमान कार्यशील डायरेक्टरी दिखती है। यह गलत है।
मैंने यह भी आज़माया:
```csharp
string path = Assembly.GetExecutingAssembly().Location;
Console.WriteLine(path);
```
लेकिन यह फ़ाइल नाम के साथ पथ लौटाता है (जैसे, `C:\MyApp\MyApp.exe`), जबकि मुझे केवल फ़ोल्डर चाहिए। और मैंने सुना है कि कुछ मामलों में shadow copying के कारण यह तरीका टेम्परेरी फ़ोल्डर का पथ लौटा सकता है।
कुल मिलाकर, मैं पूरी तरह से भ्रमित हो गया हूँ। .NET में ऐप्लिकेशन फ़ोल्डर का विश्वसनीय पथ सही तरीके से कैसे प्राप्त करें, ताकि यह इस बात पर निर्भर न हो कि ऐप्लिकेशन कैसे चलाया गया है?