ઉકેલી: એક્ઝિક્યુટેબલ પાથ મેળવો

છેલ્લો સુધારો: 09/11/2023

ખાતરી કરો કે, C# માં એક્ઝિક્યુટેબલ પાથ મેળવવા વિશે અહીં એક લાંબી-ફોર્મ લેખ છે.

C# એપ્લિકેશનમાં એક્ઝિક્યુટેબલ પાથ મેળવવો એક સામાન્ય પ્રોગ્રામિંગ કાર્ય છે જે દરેક સમયે અને પછી કોઈની કોડિંગ મુસાફરીમાં આવી શકે છે. તે એકદમ સરળ કાર્ય છે અને તેમ છતાં તે વિવિધ હેતુઓ માટે મહત્વપૂર્ણ અને ખૂબ જ ઉપયોગી છે. દાખલા તરીકે, જ્યારે પ્રોજેક્ટનું સ્થાન અજાણ્યું હોય ત્યારે વિવિધ પ્રોજેક્ટ ફાઇલો મેળવવા માટે તેનો ઉપયોગ કરી શકાય છે. આ લેખ તમને એક્ઝિક્યુટેબલ પાથ મેળવવા માટે જરૂરી કોડને તોડી નાખશે, તેને સ્ટેપ-બાય-સ્ટેપ સમજાવશે અને છેલ્લે સંબંધિત વિચારોનો અભ્યાસ કરશે.

C# પ્રોગ્રામિંગના સંદર્ભમાં, આ કાર્ય કોડની માત્ર એક લાઇનથી પ્રાપ્ત કરી શકાય છે. તો ચાલો સીધા ઉકેલ પર જઈએ:

System.AppDomain.CurrentDomain.BaseDirectory

ઉપરોક્ત કોડ લાઇન હાલમાં ચાલી રહેલ એપ્લિકેશનની એક્ઝેક્યુટેબલ ફાઇલ (.exe) નો પાથ સ્ટ્રિંગના રૂપમાં પરત કરે છે.

AppDomain.CurrentDomain.BaseDirectory પ્રોપર્ટી એ બેઝ ડાયરેક્ટરી મેળવે છે જેનો ઉપયોગ એસેમ્બલી રિઝોલ્વર એસેમ્બલી માટે તપાસ કરવા માટે કરે છે.


કોડને સમજવું: પગલું દ્વારા પગલું સમજૂતી

C# માં, ધ AppDomain વર્ગ .NET ફ્રેમવર્કનો અભિન્ન ભાગ છે સિસ્ટમ નામની જગ્યા. દરેક .NET એપ્લિકેશનમાં ઓછામાં ઓછો એક દાખલો હોય છે AppDomain. જ્યારે એપ્લિકેશન શરૂ થાય ત્યારે આ ઉદાહરણ બનાવવામાં આવે છે. દરેક નવી એપ્લિકેશન તેની પાસે છે AppDomain જે તેને અન્ય એપ્લીકેશન્સથી અલગ રાખે છે, જે એપ્લીકેશનની સુરક્ષા અને મજબૂતાઈને સુધારવામાં નિમિત્ત છે.

વર્તમાન ડોમેન, બીજી બાજુ, ની મિલકત છે AppDomain વર્ગ તે ચાલી રહેલ થ્રેડ માટે વર્તમાન એપ્લિકેશન ડોમેનનો સંદર્ભ આપતા ઑબ્જેક્ટ પરત કરે છે.

છેલ્લે, બેઝ ડિરેક્ટરી પરત કરેલ મિલકત AppDomain ઑબ્જેક્ટ ડિરેક્ટરી પાથ પરત કરે છે જ્યાં એપ્લિકેશનની એક્ઝિક્યુટેબલ ફાઇલ અસ્તિત્વમાં છે.

તેથી, તે બધું એકસાથે મૂકીને:

  • AppDomain.CurrentDomain અમને વર્તમાન એપ્લિકેશન ડોમેન મળે છે.
  • બેઝ ડિરેક્ટરી અમને વર્તમાન એપ્લિકેશન ડોમેનની આધાર નિર્દેશિકા પ્રદાન કરે છે.

ટૂંકમાં, ઉપર દર્શાવેલ વન-લાઇનર કોડ અમને ડિરેક્ટરી પાથ પ્રદાન કરે છે જ્યાં હાલમાં ચાલી રહેલ એપ્લિકેશનની એક્ઝિક્યુટેબલ એસેમ્બલી સ્થિત છે.


સિસ્ટમ નેમસ્પેસ અને એપડોમેન ક્લાસ

સિસ્ટમ નેમસ્પેસ એ C# માં સૌથી વધુ ઉપયોગમાં લેવાતી નેમસ્પેસ છે. તેમાં મૂળભૂત વર્ગો અને મૂળભૂત વર્ગોનો સમાવેશ થાય છે જે સામાન્ય રીતે ઉપયોગમાં લેવાતા મૂલ્યો અને સંદર્ભ ડેટા પ્રકારો, ઇવેન્ટ્સ અને ઇવેન્ટ હેન્ડલર્સ, ઇન્ટરફેસ, વિશેષતાઓ અને પ્રોસેસિંગ અપવાદોને વ્યાખ્યાયિત કરે છે.

AppDomain એ એક વર્ગ છે જે નો નોંધપાત્ર ભાગ બનાવે છે સિસ્ટમ નેમસ્પેસ, અને તે વિવિધ હેતુઓ માટે સેવા આપે છે:

  • તે સેન્ડબોક્સ્ડ રનટાઇમ એન્વાયર્નમેન્ટ પૂરું પાડે છે જેને એસેમ્બલીના ચોક્કસ સેટ સાથે નિયંત્રિત અને લોડ કરી શકાય છે.
  • તેને રૂપરેખાંકિત કરી શકાય છે, જે સુરક્ષા નીતિ જેવી રૂપરેખાંકનોને સુયોજિત કરવાની મંજૂરી આપે છે.
  • તેને અનલોડ કરી શકાય છે, જે સંસાધનોના સંચાલનની વાત આવે ત્યારે તેને સરળ બનાવે છે.

AppDomain.CurrentDomain.BaseDirectory પ્રોપર્ટી, તેથી, વર્તમાનમાં ચાલી રહેલી એપ્લિકેશનની એક્ઝિક્યુટેબલ ફાઇલની ડિરેક્ટરીને ઍક્સેસ કરવાની બહુમુખી રીત પ્રદાન કરે છે, જે તેને C# પ્રોગ્રામરની ટૂલકીટમાં મૂલ્યવાન સાધન બનાવે છે.

અહીંથી, વધુ અદ્યતન વિભાવનાઓ શોધી શકાય છે જેમ કે રનટાઇમ એક્ઝિક્યુટેબલના આઇસોલેશન માટે AppDomain નો ઉપયોગ, પ્રતિબિંબ, AppDomain કન્ફિગર કરવું અને વધુ, આ બધાને વર્તમાન વિષયની સારી સમજની જરૂર છે. પ્રોગ્રામિંગમાં મૂળભૂત રચનાઓ ઘણીવાર ક્ષેત્રના વધુ જટિલ અને રસપ્રદ પાસાઓના પ્રવેશદ્વાર તરીકે કાર્ય કરે છે તે રીતે આ એક વસિયતનામું છે.


તમારા કોડમાં એક્ઝેક્યુટેબલ પાથનો ઉપયોગ કરીને

એકવાર તમારી પાસે પાથ થઈ જાય, પછી ફાઇલોને ઍક્સેસ કરવી, લૉગ્સ જનરેટ કરવા વગેરે જેવી કામગીરી કરવી સરળ બની જાય છે. ફાઇલને ઍક્સેસ કરવા માટે તમે બેઝ ડિરેક્ટરીનો ઉપયોગ કેવી રીતે કરી શકો છો તેનું ઉદાહરણ કોડ અહીં છે:

string filePath = System.AppDomain.CurrentDomain.BaseDirectory + @”DataDetails.txt”;
(StreamReader sr = નવું StreamReader(filePath)) નો ઉપયોગ કરીને
{
// તમારો કોડ અહીં
}

આ કોડમાં, અમે ફક્ત 'ડેટા' ડિરેક્ટરીમાં 'Details.txt' ના સંબંધિત પાથ સાથે આધાર નિર્દેશિકા પાથને જોડીએ છીએ અને તેને વાંચીએ છીએ. આ કોડ તમારા પ્રોજેક્ટના વર્તમાન સ્થાનને ધ્યાનમાં લીધા વિના સફળતાપૂર્વક ચાલશે, જેનાથી તમારા કોડની સુગમતામાં ઉમેરો થશે.

જેમ જેમ તમે વધુ પ્રોજેક્ટ્સ પર કામ કરવાનું ચાલુ રાખશો અને C# અને .NET ફ્રેમવર્ક સાથે વધુ અનુભવ મેળવશો, તેમ તમે શોષણની રાહ જોઈ રહેલી આવી અસંખ્ય ઉપયોગિતાઓને જોશો. અને નિશ્ચિંત રહો, તમે જેટલું વધુ શીખો છો, તમારી પાસે તમારા નિકાલમાં જેટલા વધુ સાધનો હશે, તમારા કોડ પર તમારો આદેશ વધુ હશે. હેપી કોડિંગ!

સંબંધિત પોસ્ટ્સ: