मेरा समाधान/परियोजना इस विशेष परियोजना के लिए कोड अनुबंधों के साथ ठीक है।कोड अनुबंध रिवाइट विफल - libpaths ऑर्डर
जब मैं चालू करता हूं तो मेरी परियोजना पर पर रनटाइम अनुबंध की जांच करें, बिल्ड विफल हो जाता है। सीसी rewriter की तर्ज पर संदेशों के सैकड़ों लात शुरू होता है:
Could not resolve member reference: ....
ऐसा लगता है इस समस्या को परियोजना के संदर्भ libpaths
तर्क के माध्यम से ccrewrite के लिए पारित के आदेश के कारण होता है। जब मैं बिल्ड को अलग करता हूं, और इसे कमांड लाइन पर चलाता हूं, और मैं मैन्युअल रूप से libpaths, ccrewrite कार्यों, और निर्माण पूर्ण करने के लिए एक विशिष्ट क्रम में संदर्भ निर्दिष्ट करता हूं।
जैसे
ccrewrite /level:4 /rewrite "/assemblyMode=standard" /throwonfailure /libpaths:"X Y Z" "target.dll" -- fails :(
ccrewrite /level:4 /rewrite "/assemblyMode=standard" /throwonfailure /libpaths:"Z Y X" "target.dll" -- compiles/rewrites :)
यह एक छोटे से मेरे लिए अजीब लगता है, मैंने सोचा था कि है था ccrewrite विशेष रूप से प्रदान की 'टूट' आदेश के बाद से एक मनमाना आदेश को संभालने के लिए सक्षम होना चाहिए क्या एक एमएसबिल्ड माइक्रोसॉफ्ट के साथ गुज़र रहा है। कॉडकंट्रैक्ट्स। लक्ष्य फ़ाइल/क्रिकराइट, लेकिन सीसी लोगों के लिए यह एक मुद्दा है। मैंने इसे 3 अलग-अलग मशीनों पर भी एक ही परिणाम के साथ परीक्षण किया है, इसलिए यह एक क्रिकराइट मुद्दा है, या इस विशिष्ट csproj में कुछ अजीब है जो किक्रिट्राइट पसंद नहीं करता है।
मैं क्या सोच रहा हूं, क्या मैं अपनी संदर्भ परियोजनाओं के विशिष्ट क्रम को सुनिश्चित कर सकता हूं, जो श्रृंखला के साथ सीसी लक्ष्य फ़ाइल में पारित हो जाते हैं? मुझे लगता है कि बिल्ड इंजन प्रोजेक्ट csproj फ़ाइल में ItemGroup//ProjectReference
तत्वों के तहत पढ़ने वाले क्रम का उपयोग करेगा, लेकिन यह मामला नहीं है।
कोई विचार?