TFS tuzish agenti Nuget Restore ilovasida muvaffaqiyatsiz tugadi: .Net Core + VS 2017 + maxsus TFS Feed

I have: a .NET Core App, modified for VS 2017 and consuming a TFS Feed. When it was in VS 2015, NuGet restore was working fine. Now using VS 2017, NuGet restore it doesn't work returning a Failed to load msbuild Toolset ... Could not load file or assembly 'Microsoft.Build, Version=14.0.0.0

Bundan tashqari, dotnet restore dan foydalanishga harakat qilaman va 401 (ruxsatsiz) javob oldim.

Tashqi ko'rinishiga ko'ra NuGet restore - buni amalga oshirishning afzal yo'lidir, chunki u biz uchun avtomatik ravishda autentifikatsiya qilingan, TFS Feed-dan foydalanish uchun, ammo VS-2017 ni tanimayapti.

Yangilash 3/20/2017

Afsuslanish uchun uzr so'rayman, muammo CI/CD Visual Studio Team Services/Build foydalanishdan foydalanishni unutib qo'ydim. Mening shaxsiy kompyuterimda NuGet 4 (VS 2017 bilan kelgan) bo'lgani uchun juda yaxshi ishlaydi ... lekin mavjud NuGet versiyalari (maxsus ruxsatga ega): 3.3 va 3.5

Yangilangan sana: 3/25/2017

After I added the nuget 4.0 to the build as @Cece-MSFT suggested, I still getting an error but without much detail. see screenshot: enter image description here

6
Qaysi TFS versiyasidan foydalanmoqdasiz? Nuget qaysi versiyasidan foydalanmoqdasiz?
qo'shib qo'ydi muallif Cece Dong - MSFT, manba
Hosted Agentdan foydalanasizmi? Agentni yaratish uchun Nuget.config (mahalliy nugget.config bo'lishi mumkin) versiyasini tekshirish va xarita yaratish uchun harakat qilib ko'ring, keyin nugget.config faylini (Nuget o'rnatish bosqichi/vazifasi uchun Nuget.config yo'li) tanlang. Boshqa tomondan, system.debug-ni true (o'zgaruvchilar yorlig'i) sozlash va batafsil xato xabari yo'qligini tekshirib ko'ring.
qo'shib qo'ydi muallif starian chen-MSFT, manba

6 javoblar

% APPDATA %% \ NuGet \ NuGet.Config ichida joylashgan qurish serveringizning nuget global config faylidan foydalanishingiz mumkin

1
qo'shib qo'ydi

Va nihoyat, ba'zi yangilanishlar va ikkita variant mavjud: buni qanday hal qilish mumkin?

  1. NuGet v3.3 va v3.5 dan foydalanish o'rniga ... NuGet v4.0 uchun endi qo'llab-quvvatlanadi

enter image description here

  1. Mening eng sevimlimiz, NuGet Restore versiyasini v1. * dan foydalanish va endi o'z VSTS Feed ni tanlash variantini tanladim ... shuning uchun NuGet.config

enter image description here

1
qo'shib qo'ydi

Qurilmada quyidagi sozlamalardan foydalanishni tekshirish orqali buni tuzatishga muvaffaq bo'ldim:

  • Agentlik joylashtirilgan, lekin QAYTA VS2017 joylashtirildi
  • Nuget tiklash vazifasi v3.5 hisoblanadi
  • O'rnatish vazifasi VS2017 ni bildiradi

Hech qanday tushuncha yo'q, nima uchun siz bu maxsus kombinatsiya haha ​​kerak!

Siz CORE ilovasini uzr so'rayman. Buning uchun tiklash yaxshi, shuning uchun qurish paketlarni kengaytira olmaydi. Bir qadam yaqinroq deb o'ylayman!

0
qo'shib qo'ydi

TFS 2017 + VS 2017 + Nuget 4.0.0.2323 bilan sinab ko'rdim, VS da Paket manbaida TFS tasmasi qo'shilgandan so'ng, VS uni muvaffaqiyatli tiklashi mumkin.

You may compare your environment with mine, especially Nuget version, as someone has similar issue with a previous Nuget version, check: https://github.com/NuGet/Home/issues/3975

================================================== =======================

Ekran rasmini qo'shing:

enter image description here

0
qo'shib qo'ydi
Mening yangilanishimni ko'ring.
qo'shib qo'ydi muallif Jaider, manba
Juda g'alati, men oldim: Spawn ENOENT Xato
qo'shib qo'ydi muallif Jaider, manba
Men o'sha xatoni oldim
qo'shib qo'ydi muallif Chris Surfleet, manba
Siz NuGet 4-ni manba tekshiruviga qo'shishingiz mumkin va NuGet tiklash ishida NuGet.exe-ga yo'lni ko'rsating. Shu tarzda Nugetning yangi versiyasidan foydalanishingiz mumkin. Men javobimga qo'shgan ekran tasvirini tekshiring.
qo'shib qo'ydi muallif Cece Dong - MSFT, manba
@Jaider Nima degani Spawn ENOENT xatosi? Bu yerda batafsil xato xabari taqdim eting.
qo'shib qo'ydi muallif starian chen-MSFT, manba
@ Cece-MSFT 4.0 versiyasini TFS orqali yuklab olishning bir yo'li bormi? Uni manba nazoratiga olishni hohlamayman. VS-2017-dan foydalanishga qaramasdan, u mavjud emas. Buni talab qilib qo'shib ko'rdim, lekin nuget.exe 4.0 manzilini topmadim
qo'shib qo'ydi muallif trevorc, manba
@ Cece-MSFT Bundan tashqari, men @ Jaider tomonidan bildirilgan xatolarga egaman. Keyin to'g'ri versiyani aniqlaydi: Xato: utility/nuget.exe muvaffaqiyatsiz tugadi./nuget.exe ENOENT dasturini yaratish
qo'shib qo'ydi muallif trevorc, manba

Men @ Cece-MSFT dan bir nechta takliflarni sinab ko'rdim, ammo ularni xatolikka yo'l qo'yib bo'lmadi. Men uchun bu ish nima edi. Nuget.exe versiyasini tekshirishga 4.0 * * versiyasini tekshirish kerak edi. Men buyruq qatori yordamchi dasturini qo'shib qo'ydim va nuget.exe saytida tekshirilgandim va har bir narsa mukammal ishladi.

Eslatma: Bu shuningdek, .net yadrosi va asp.net framework sinf kutubxonalari bilan ishlaydi. Github-da berilgan chiqishi .

Eslatma2: Men .csproj versiyasini (VS 2017, no project.json) o'z echimdagi barcha. Net yadro loyihalarim uchun ishlataman.

Mana, mening nugetimning ekrani tiklash qadamini tiklaydi. Umid qilamanki bu sizga yordam beradi.

enter image description here

0
qo'shib qo'ydi
Men qarshi turgan muammo - bu mening shaxsiy omborga ( TFS Feed Package ) erishishga harakat qilaman va bu javobni Nuget.config + ruxsatlarini kiritish kerak va murakkab.
qo'shib qo'ydi muallif Jaider, manba

Men buni nuget tiklash qadamini olib tashlash va/t: msbuild argumentlarini qayta tiklash orqali aniqladim. Buning yordamida nugetni qo'lda yangilash kerak emas.

0
qo'shib qo'ydi
Men buni sinab ko'rdim, lekin yana bir marta msbuild maxsus TFS Feedni iste'mol qilishga ruxsat bermaydi.
qo'shib qo'ydi muallif Jaider, manba