2016-02-18 1 views
15

मुझे विंडोज यूनिवर्सल ऐप्स बनाने के दौरान एक अजीब बिल्ड त्रुटि मिल रही है।यूडब्ल्यूपी ऐप के लिए त्रुटि बनाएँ Microsoft.Bcl.Bild और packages.config प्रोजेक्ट फ़ाइल के आगे

गंभीरता कोड विवरण परियोजना फ़ाइल लाइन दमन राज्य त्रुटि पता नहीं लग सका C: \ Users \ मुझे \ स्रोत \ रेपोस \ टीटी \ Windows \ MyCommonLibrary \ packages.config। सुनिश्चित करें कि इस प्रोजेक्ट में Microsoft.Bcl.Build स्थापित है और packages.config प्रोजेक्ट फ़ाइल के बगल में स्थित है। MyApp

'MyApp' में 'MyCommonLibrary' का एक प्रोजेक्ट संदर्भ है।

वास्तव में अजीब बात यह है कि भले ही इसे 'त्रुटि' के रूप में प्रदर्शित किया गया हो। यह 'MyApp' या 'MyCommonLibrary' बनाने की मेरी क्षमता को प्रभावित नहीं करता है!

यह मुझे स्थानीय रूप से या अन्यथा मेरे ऐप को तैनात करने और चलाने से रोकता नहीं है। यह निर्माण को तोड़ने पर बिल्ड त्रुटि के रूप में सूचीबद्ध होने के लिए सिर्फ एक परेशान है!

+0

मैं एक ही त्रुटि है और यह मुझे कुछ nuget संकुल जोड़ने के लिए रोकता है। आप इस के लिए किसी भी समाधान मिला? – batmaci

+0

किसी समस्या को खोल दिया: https://github.com/NuGet/Home/issues/2913। हम देखेंगे कि इसमें क्या आता है। – RandomEngy

उत्तर

3

मेरा मानना ​​है कि यह Nuget Update से 3.1 तक एक झूठी सकारात्मक है।

जब मैंने संकुल.कॉन्फिग बनाकर इसे हल किया, विजुअल स्टूडियो मैन्युअल रूप से मौजूदा प्रोजेक्ट से बाहर निकलता है। जेसन।

उदाहरण के लिए:

project.json

{ 
    "dependencies": { 
    "Microsoft.Bcl.Build": "1.0.21", 
    "Newtonsoft.Json": "8.0.2" 
    }, 
    "frameworks": { 
    "uap10.0": {} 
    }, 
    "runtimes": { 
    "win10-arm": {}, 
    "win10-arm-aot": {}, 
    "win10-x86": {}, 
    "win10-x86-aot": {}, 
    "win10-x64": {}, 
    "win10-x64-aot": {} 
    } 
} 

packages.config

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="uap10.0" /> 
    <package id="Newtonsoft.Json" version="8.0.2" targetFramework="uap10.0" /> 
</packages> 
+0

यह ठीक काम करता है लेकिन इसने 8 अतिरिक्त चेतावनियां बनाईं जो मेरे पास पहले नहीं थीं। कोई विचार? Nuget के साथ यह संघर्ष भी नहीं होगा क्योंकि यह इन निर्भरता संदर्भों को समाधान के लिए अपनी कॉन्फ़िगरेशन में रख रहा है? धन्यवाद। – Thierry

+0

मैंने उनमें से अधिकतर को हटाने में कामयाब रहा है, 2 को छोड़कर जो विरोधाभासी निर्भरता का वर्णन नहीं कर रहे हैं, लेकिन विस्तृत बोलते हुए विस्तृत शब्दावली को देखते हुए। यानी ' <पैकेज आईडी = "माइक्रोसॉफ्ट.बीक्ल.बिल्ड" संस्करण = "1.0.21" targetFramework = "uap10.0" /> <पैकेज आईडी = "न्यूटॉन्सॉफ्ट.जेसन" संस्करण = "8.0.3" targetFramework = "uap10.0" /> <पैकेज आईडी = "माइक्रोसॉफ्ट.Net.Http" संस्करण = "2.2.29" targetFramework = "uap10.0" /> <पैकेज आईडी = "माइक्रोसॉफ्ट.बीसीएल" संस्करण = "1.1। 10 "targetFramework =" uap10.0 "/> '। – Thierry

13

मैं Bcl.Build पैकेज स्वामियों से पीछा किया और से एक प्रतिक्रिया मिल गया एरिक सेंट जॉन। वह कहता है कि आपको अपने यूडब्लूपी प्रोजेक्ट में बीसीएल.बिल्ड का संदर्भ नहीं देना चाहिए जो प्रोजेक्ट.जेसन का उपयोग करता है, और ऐसी चेतावनी को दबाने के लिए एक प्रोजेक्ट प्रॉपर्टी है जो आपको ऐसा करने के लिए कह रही है।

सही, समस्या यह है कि इसका उपयोग करने वाले अधिकांश पैकेज यूडब्ल्यूपी के बारे में भी नहीं जानते हैं और यदि वे यूडब्लूपी के लिए अपडेट करते हैं तो हम चाहते हैं कि वे इसे काम करने के बजाय इस निर्भरता को छोड़ दें। UWP या Project.json का समर्थन करने वाले किसी भी ढांचे के लिए पैकेज की आवश्यकता नहीं है।

वर्ष पैकेज के साथ त्रुटि को हल करने के निम्न करें:

अपने csproj के शीर्ष पर करने के लिए < SkipValidatePackageReferences> सच </SkipValidatePackageReferences> जोड़ें/vbproj

+0

क्या यह एक सामान्य सेटिंग नहीं है? क्या किसी भी पक्ष को किसी अन्य पैकेज के लिए प्रभावित किया जाएगा? – batmaci

+0

मेरा मानना ​​है कि शीर्ष पर सख्ती से नहीं, प्रोजेक्ट रेफरेंस सेक्शन में होना चाहिए: http://stackoverflow.com/a/17242424/1033684 –

+0

हां, संपत्ति को शीर्ष पर नहीं जोड़ा जाना चाहिए, क्योंकि यह लोड करने में विफल रहता है परियोजना फाइल मैंने इस संपत्ति को अनुभाग में जोड़ने में सफलता प्राप्त की। इसने काम कर दिया। – Artemious

संबंधित मुद्दे