मैं इस पृष्ठ पर आया क्योंकि मेरे पास मेरे कमांड लाइन मापदंडों में संवेदनशील जानकारी है, और उन्हें कोड रिपॉजिटरी में संग्रहीत नहीं करना चाहता था। मैं मूल्यों को धारण करने के लिए सिस्टम पर्यावरण चर का उपयोग कर रहा था, जिसे प्रत्येक उद्देश्य के लिए आवश्यकतानुसार प्रत्येक बिल्ड या डेवलपमेंट मशीन पर सेट किया जा सकता है। पर्यावरण चर विस्तार शेल बैच प्रक्रियाओं में बहुत अच्छा काम करता है, लेकिन विज़ुअल स्टूडियो नहीं।
दृश्य स्टूडियो प्रारंभ विकल्प:
हालाँकि, Visual Studio चर मान नहीं लौटाएगा, लेकिन चर का नाम।
मुद्दे का उदाहरण:
एसओ पर कई कोशिश करने के बाद मेरा अंतिम समाधान मेरे तर्क प्रोसेसर में पर्यावरण चर के लिए एक त्वरित खोज लिखना था। मैंने आने वाले वैरिएबल वैल्यू में% के लिए एक चेक जोड़ा है, और अगर यह पाया जाता है, तो पर्यावरण चर को देखते हुए और मूल्य को प्रतिस्थापित करें। यह Visual Studio, और मेरे बिल्ड वातावरण में काम करता है।
foreach (string thisParameter in args)
{
if (thisParameter.Contains("="))
{
string parameter = thisParameter.Substring(0, thisParameter.IndexOf("="));
string value = thisParameter.Substring(thisParameter.IndexOf("=") + 1);
if (value.Contains("%"))
{ //Workaround for VS not expanding variables in debug
value = Environment.GetEnvironmentVariable(value.Replace("%", ""));
}
यह मुझे अपने नमूना बैच फ़ाइलों में समान सिंटैक्स का उपयोग करने की अनुमति देता है, और दृश्य स्टूडियो के साथ डीबगिंग में। जीआईटी में कोई खाता जानकारी या URL सहेजे नहीं गए।
उदाहरण बैच में उपयोग करें