मैं ValueTuple.net फ्रेमवर्क परियोजनाओं के पैकेज संदर्भ के रूप में जोड़ने की सलाह नहीं दूंगा । जैसा कि आप जानते हैं कि यह असेंबली 4.7 .NET फ्रेमवर्क से उपलब्ध है।
कुछ परिस्थितियाँ हो सकती हैं जब आपकी परियोजना ValueTupleपैकेज फ़ोल्डर के बजाय .NET फ्रेमवर्क फ़ोल्डर से सभी लागतों को शामिल करने का प्रयास करेगी और यह कुछ असेंबली त्रुटियों का कारण नहीं बन सकती है।
कंपनी में आज हमें यह समस्या थी। हमारे पास 2 परियोजनाओं के साथ समाधान था (मैं इसकी देखरेख करता हूं):
LibValueTuple सहित और Webउपयोग कर रहा था Lib। यह पता चला कि किसी अज्ञात कारण से Webजब करने के लिए संकल्प पथ करने की कोशिश कर ValueTupleरहा था HintPath.नेट फ्रेमवर्क निर्देशिका में और गलत संस्करण ले रहा था। उस वजह से हमारा एप्लिकेशन क्रैश हो रहा था। ValueTupleमें परिभाषित नहीं किया गया था .csprojकी Webहै और न ही HintPathहै कि विधानसभा के लिए। समस्या बहुत अजीब थी। आम तौर पर यह पैकेज फ़ोल्डर से असेंबली की प्रतिलिपि बनाता है। यह समय सामान्य नहीं था।
मेरे लिए System.*पैकेज संदर्भों को जोड़ना हमेशा जोखिम भरा होता है । वे अक्सर टाइम-बम की तरह होते हैं। वे शुरुआत में ठीक हैं और वे सबसे खराब क्षण में आपके चेहरे पर विस्फोट कर सकते हैं। मेरे अंगूठे का नियम: यदि उनके लिए कोई वास्तविक आवश्यकता नहीं है, तो .NET फ्रेमवर्क केSystem.* लिए Nuget पैकेज का उपयोग न करें ।
हमने प्रोजेक्ट के अंदर फ़ाइल ValueTupleमें मैन्युअल रूप से जोड़कर हमारी समस्या का समाधान किया ।.csprojWeb