2016-02-20 15 views
12

में बिन फ़ोल्डर कैसे प्राप्त करें asp.net कोर 1.0 के साथ बहुत सारी कार्यक्षमताएं शामिल हैं। लेकिन बिन फ़ोल्डर पथ प्राप्त करने का कोई तरीका नहीं है।एएसपी.NET कोर 1.0

क्या कोई भी कृपया जान सकता है कि हम एएसपीनेट कोर 1.0 एप्लिकेशन के लिए बिन फ़ोल्डर पथ कैसे प्राप्त कर सकते हैं।

+0

आप एक बिन फ़ोल्डर क्यों करना चाहते हैं? –

+0

@MuqeetKhan एक कारण उत्पन्न XML दस्तावेज़ फ़ाइल पुनर्प्राप्त करना होगा। –

उत्तर

7

ठीक है, बिन फ़ोल्डर करता है मौजूद है, लेकिन यह करने के लिए ले जाया जाता है समाधान फ़ाइल के बगल में कलाकृतियों फ़ोल्डर। चूंकि एएसपी.नेट कोर आरसी 1 मेमोरी में सबकुछ संकलित करता है, तो आपको खाली बिन फ़ोल्डर मिल जाएगा। लेकिन अगर आप "निर्माण पर आउटपुट आउटपुट" विकल्प को सही पर सेट करते हैं (राइट क्लिक प्रोजेक्ट फ़ाइल -> प्रॉपर्टीज और बिल्ड टैब) तो आपको बिन फ़ोल्डर में जेनरेट की गई फाइलें मिलेंगी।

मुझे नहीं लगता कि इस के रास्ते को पाने के लिए कोई प्रत्यक्ष संपत्ति उपलब्ध है लेकिन आप उसी मार्ग का उपयोग कर सकते हैं जो @ निकोलय कोस्टोव द्वारा आवेदन पथ प्राप्त करने के लिए इंगित किया गया है। और फिर System.IO कक्षाओं का उपयोग बिन फ़ोल्डर में कूदें।

कोड यहां वर्णित एएसपी.नेट कोर के लिए अपडेट किया गया है।

http://www.talkingdotnet.com/get-application-wwwroot-path-aspnet-core-rc2/

public Startup(IHostingEnvironment env, IApplicationEnvironment appenv) 
{ 
    string sAppPath = env.ContentRootPath; 
    string sRootPath = Path.GetFullPath(Path.Combine(sAppPath, @"..\..\")); 
    string sBinFolderPath = @"artifacts\bin\" + appenv.ApplicationName; 
    string sBinPath = Path.Combine(sRootPath, sBinFolderPath); 
} 
0

आप वास्तव में /bin/ फ़ोल्डर नहीं प्राप्त कर सकते हैं क्योंकि यह आपके प्रोजेक्ट से प्रासंगिक नहीं है और एएसपी.NET पर्यावरण नहीं जानता कि /bin/ फ़ोल्डर क्या है।

और वास्तव में /bin/ फ़ोल्डर भी नहीं है। आप इस लेख को पढ़ने के लिए चाहते हो सकता है: http://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html

लेकिन तुम तो ApplicationBasePath कहा जाता है प्राप्त कर सकते हैं जो निर्देशिका जिसमें आप आवेदन रन है:

public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) 
{ 
    string baseDir = appEnv.ApplicationBasePath; 
    // Other startup code 
} 
+0

यह फ़ोल्डर को src के साथ दे रहा है जो मैं नहीं चाहता –

+0

वैसे बिल्कुल एक '/ bin /' फ़ोल्डर नहीं है। आप इस आलेख को पढ़ना चाहेंगे: http://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html इसलिए प्रोजेक्ट रूट वह स्थान है जहां कोड शुरू होता है –

+0

@ जल्पेश वाडगामा: यह मतलब है कि आप आईडीई में चल रहे हैं। – Joshua

22

इस विधानसभा की निर्देशिका, जिससे हम bin स्थान निर्धारित कर सकते हैं पुनः प्राप्त करने के काम करता है।

var location = System.Reflection.Assembly.GetEntryAssembly().Location; 
var directory = System.IO.Path.GetDirectoryName(location); 
System.Console.WriteLine(directory); 

आउटपुट

C:\MyApplication\bin\Debug\netcoreapp1.0 
+0

मेरे स्थानीय पर्यावरण पर मेरे लिए काम करता है, लेकिन क्या यह Azure API सेवा पर काम कर सकता है? – fahadash

+0

@fahadash मैंने कोशिश नहीं की है। –

7

वैकल्पिक रास्ता (AppDomain.BaseDirectory से मेल खाती है):

AppContext.BaseDirectory 
संबंधित मुद्दे