2014-06-12 5 views
6

मैं वास्तव में न्यूजेट के साथ पागल हो रहा हूं और विजुअल स्टूडियो टीम सर्विसेज (visualstudio.com) के तहत एक समाधान का निर्माण कर रहा हूं। किसी भी प्रकार के मदद की बहुत सराहना की जाएगी।न्यूजेट विजुअल स्टूडियो टीम सर्विसेज (visualstudio.com) (स्वचालित पैकेज पुनर्स्थापित) के तहत संकुल डाउनलोड नहीं किया गया है

मेरे पास 36 परियोजनाओं वाला एक समाधान है। कई परियोजनाएं एक ही 5 या 6 न्यूजेट पैकेज का उपयोग करती हैं। मैंने सावधानीपूर्वक Migrating MSBuild-Integrated solutions to use Automatic Package Restore के लिए निर्देशों का पालन किया है और इसलिए मेरे समाधान फ़ोल्डर के तहत एक .nuget फ़ोल्डर है जिसमें एकमात्र NuGet.Config फ़ाइल है और इसमें Nuget.exe या Nuget.targets फ़ाइलें शामिल नहीं हैं। सभी परियोजनाओं में उनकी Nuget.targets लाइनों को हटा दिया गया है।

मैं विजुअल स्टूडियो 2013 प्रोफेशनल (v12 अपडेट 2) का उपयोग कर रहा हूं और समाधान त्रुटियों या चेतावनियों के बिना स्थानीय रूप से बनाता है। संकुल फ़ोल्डर के एक स्वच्छ और हटाने के बाद भी यह डाउनलोड करता है और ठीक बनाता है। पैकेज फ़ोल्डर को विजुअल स्टूडियो टीम सेवाओं में चेक नहीं किया गया है।

निर्माण लॉग की जांच पता चलता है कि:

  1. nuget MSBuild- से माइग्रेट करने से पहले आदेश के लिए, डाउनलोड की जाँच करें और किसी भी अनसुलझे संकुल को अनपैक करने में बिल्ड के शुरू में में लात नहीं था (यह इस कर रहा था स्वचालित पैकेज पुनर्स्थापित करने के लिए एकीकृत - हालांकि इसके बावजूद, यह संदर्भों को हल करने में सक्षम नहीं था)
  2. मुझे 113 त्रुटियों के साथ छोड़ दिया गया है, इस तथ्य के आसपास केंद्रित है कि परियोजनाएं संदर्भों को हल करने में असमर्थ थीं।
  3. एक स्थानीय निर्माण (और MSBuild-एकीकृत), विजुअल स्टूडियो टीम सेवा के विपरीत अब भी इसके निर्माण लॉग में nuget का उल्लेख नहीं है !!!

लॉग का एक उदाहरण है, जहां चीजें असफल होना शुरू (हालांकि यह स्पष्ट रूप से है, क्योंकि nuget में कदम रखा नहीं किया है):

Project "C:\a\src\TFS\RSPlatform\Main\Source\RSPlatform Team Project.sln" (1) is building "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\A2Refresh.csproj" (8) on node 1 (default targets). 
PrepareForBuild: 
    Creating directory "obj\Release\". 
ResolveAssemblyReferences: 
    Primary reference "Bytescout.Spreadsheet". 
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Bytescout.Spreadsheet". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\A2Refresh.csproj] 
      For SearchPath "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies". 
      Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.winmd", but it didn't exist. 
      Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.dll", but it didn't exist. 
      Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.exe", but it didn't exist. 
      For SearchPath "{HintPathFromItem}". 
      Considered "..\..\packages\Bytescout.Spreadsheet.2.4.0.1346\lib\net45\Bytescout.Spreadsheet.dll", but it didn't exist. 
      For SearchPath "{TargetFrameworkDirectory}". 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.winmd", but it didn't exist. 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.dll", but it didn't exist. 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.exe", but it didn't exist. 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.winmd", but it didn't exist. 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.dll", but it didn't exist. 
      Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.exe", but it didn't exist. 
      For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.5.1,AssemblyFoldersEx}". 
      Considered AssemblyFoldersEx locations. 
      For SearchPath "{AssemblyFolders}". 

किसी को सलाह देने के लिए कर सकते हैं कि कैसे मैं विजुअल स्टूडियो टीम सेवाओं का उपयोग करने मिलना चाहिए nuget? विजुअल स्टूडियो टीम सर्विसेज को NuGet का उपयोग करने का भी समर्थन किया गया है यदि स्वचालित पैकेज पुनर्स्थापना ~/.nuget/NuGet.exe छोड़ने का सुझाव देती है?

अग्रिम धन्यवाद, क्रिस

+0

आप कभी भी इस आंकड़ा था इस टेम्पलेट का निर्माण nuget से बहाल किया और पूरा इस्तेमाल किया बाहर? मुझे किसी भी भाग्य के साथ परीक्षण में लगभग 12 घंटे और त्रुटि मिली है। उत्तर में दिए गए लिंक का कहना है कि वीएसओ के लिए डिफ़ॉल्ट वर्कफ़्लो पहले ही इसे संभाल लेना चाहिए, लेकिन मैंने उन्हें खोल दिया है और पुष्टि की है कि nuget पैकेज पुनर्स्थापना लागू नहीं की गई है। –

+0

हाय द मफिन मैन, मैंने नहीं किया है। @ probackpacker की प्रतिक्रिया ने शुरू करने के लिए nuget प्राप्त करने में मदद की और पैकेज पुनर्स्थापना प्रक्रिया निष्पादित करने में मदद की, हालांकि, जब यह समाधान/परियोजनाओं का निर्माण करने के लिए चला जाता है, प्रासंगिक परियोजनाएं अभी भी असेंबली का पता नहीं लगा सकती हैं। मुझे कितनी दूर मिल गई है, मेरी लॉग फ़ाइल (26 जून को 9:09 बजे) देखें। –

+0

यह ** ** नहीं है ठीक है। मैं आपकी 30+ परियोजनाओं की तुलना में एक बहुत ही सरल सेटअप के साथ बैठा हूं और मैं अभी भी इस बेवकूफ दुर्व्यवहार को पुन: पेश कर सकता हूं! मेरे पास एक (1!) फ़ाइल, * Program.cs * के साथ एक कंसोल एप्लिकेशन है। जब तक मैं NuGet से कुछ भी नहीं जोड़ता तब तक सब कुछ बढ़िया काम कर रहा है - मैंने ईएफ और एनयूनीट की कोशिश की। फिर - पोफ! अब कुछ भी नहीं हो रहा है। मुझे नहीं लगता कि यह हल करना असंभव है, एमएस द्वारा बस एक बहुत बेवकूफ सेटअप। कोई संकेत? –

उत्तर

1

मैं विजुअल स्टूडियो टीम सेवाएं उपयोग नहीं किया है, लेकिन NuGet docs का दावा है कि पैकेज को पुनर्स्थापित डिफ़ॉल्ट रूप से

टीम फाउंडेशन के लिए बिल्ड 2013 निर्माण प्रक्रिया का हिस्सा होना चाहिए ऑन-प्रिमाइसेस और विजुअल स्टूडियो ऑनलाइन (पूर्व में टीम फाउंडेशन सर्विस), डिफ़ॉल्ट बिल्ड प्रक्रिया टेम्पलेट पहले से ही बिना किसी विशेष कॉन्फ़िगरेशन के NuUet पैकेज पुनर्स्थापना वर्कफ़्लो को कार्यान्वित करते हैं। निम्नलिखित जानकारी केवल टीम फाउंडेशन बिल्ड 2012 और इससे पहले, या प्रोसेस टेम्पलेट्स बनाने के लिए लागू होती है जिन्हें अनुकूलित किया गया है और NuGet पुनर्स्थापना कार्यक्षमता हटा दी गई है।

यदि किसी कारण से आपकी बिल्ड प्रक्रिया में यह चरण शामिल नहीं है (जैसा कि मामला प्रतीत होता है) तो आपको इसे मैन्युअल रूप से जोड़ना पड़ सकता है। यह blog post विवरण देता है कि टीम सेवाओं के साथ पैकेज पुनर्स्थापित कैसे करें। यह एक समर्पित बिल्ड फ़ाइल और पिछले लिंक में वर्णित प्रक्रिया का उपयोग करता है।

+0

हाय probackpacker। मैं अभी शाम से छुट्टी से वापस आ गया हूँ। आपके उत्तर में प्रारंभिक रूप से आशाजनक लग रहा है लेकिन मुझे आपके द्वारा प्रदान किए गए लिंक पढ़ने और मेरे सिर में इसे साफ़ करने के लिए कुछ समय मिल जाएगा। एक बार ऐसा करने के बाद मैं वापस रिपोर्ट करूंगा। चीयर्स। –

+0

मैंने आपके द्वारा प्रदान की गई बहुत उपयोगी ब्लॉग पोस्ट पढ़ी है और NuGet.exe को एक टूल फ़ोल्डर में जोड़ा है और एक एमएसबिल्ड प्रोजेक्ट बनाया है जो समाधान बनाने से पहले NuGet को पुनर्स्थापित करता है। मैं अब संकुल को संकुलित कर सकता हूं, हालांकि कुछ पागल कारणों के लिए, मुख्य संकलन अभी भी असेंबली को हल करने में सक्षम नहीं है! दुर्भाग्यवश, यहां तक ​​कि एक विस्तृत बिल्ड लॉग पर, संकुल के निर्माण के लिए पथ स्पष्ट रूप से रिपोर्ट नहीं किया गया है। मैंने अपने msbuild.proj के "outdir" को बदलने की कोशिश की है लेकिन अभी भी संकल्प नहीं हो रहा है। कोई विचार? धन्यवाद। –

+0

यहां मेरा निर्माण लॉग है: https://dl.dropboxusercontent.com/u/26079253/build%28C874%29.log –

4

यदि आप विजुअल स्टूडियो टीम सेवाओं पर निर्माण कर रहे हैं तो मुझे पता चला है कि Nuget.exe और Nuget दोनों।लक्ष्यों को उपस्थित होने की आवश्यकता है, जो कि इस विषय को गुमराह करके आप जो सलाह ले सकते हैं, उसके विपरीत है।

उन्हें जोड़ने में मेरी विजुअल स्टूडियो टीम सेवाएं काम करती हैं।

+0

मुझे यकीन है कि मैंने उस विकल्प को भी आजमाया है, लेकिन मैं वापस जाऊंगा और इसे वापस दे दूंगा और रिपोर्ट करूंगा। कम से कम, यह लॉग फ़ाइल में कुछ अलग हो सकता है जिसे मैं यहां प्रतिक्रिया दे सकता हूं। –

+0

क्या आपके पास समाधान के लिए build.proj फ़ाइल है? – IntoNET

+0

मैं एक नज़र रखूंगा और अगर मैं करता हूं तो इसे प्रदान करूंगा। –

2

कई चीजों की कोशिश करने के बाद मुझे पता चला कि मैं गलत डिफ़ॉल्ट टेम्पलेट का उपयोग कर रहा था।

मैं उपयोग कर रहा था:

DefaultTemplate.11.1.xaml 

सही टेम्पलेट मेरे लिए था:

TfvcTemplate.12.xaml 

जब मैं सही ढंग से

+0

मेरे पास वीएस ऑनलाइन के लिए मेरे पोर्टल में वह टेम्पलेट नहीं है ... आपको यह कैसे मिला? –

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