Microsoft.CodeAnalysis, versiya = 1.3.1.0, Madaniyat = neytral, PublicKeyToken = 31bf3856ad364e35 'yoki uning qaramoqchi bo'lgan faylini yoki o'rnatilishini yuklab bo'lmadi.

Kecha kechqurun bir yangilash yuz berdi va endi men o'zim ctrl + 'ni qila olmayman. VS 2015 da kod takliflari uchun. Quyidagi so'zlar bilan xato xabari keladi:

Microsoft.CodeAnalysis, versiya = 1.3.1.0, Madaniyat = neytral, PublicKeyToken = 31bf3856ad364e35 'yoki uning bog'liqliklaridan biri fayl yoki kompilyatsiya yuklanmadi. Tizim ko'rsatilgan faylni topa olmaydi.

Men hali ham qurishim va rivojlantirishim mumkin, lekin bu xususiyatsiz bu, albatta, nihoyatda zerikarli bo'ladi. Buni tan olaman, yumshoqlashyapman!

Har bir inson ushbu xatoni tuzatish uchun taklifni qabul qiladimi?

62
VLda Vilhelm H. ta'kidlaganidek: Tools-> Nuget Package Manager -> Package Manager Console va keyin Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform .
qo'shib qo'ydi muallif Sven M., manba
Bugungi kunda ham buni qilyapman ... Xo'sh, buni nima sindirib tashlaganini bilganimda edi! Qurilish mashinamiz bir xil VS/C # versiyalariga va Ctrl + "ga ega." hali ham yaxshi ishlaydi. Biz hech qachon DotNetCompilerPlatformni loyihalarimizdan biri bo'lgan NuGet paketlarimizda ko'rmaganmiz, shuning uchun biz nima uchun to'satdan uni o'rnatishimiz va barcha loyihalarimizni konfiguratsiya qilishimiz kerakligini tushunmayapmiz!
qo'shib qo'ydi muallif System.Cats.Lol, manba
Kechirasiz, nima uchun bu sodir bo'layotganiga ishonchim komil emas. Men Microsoft.CodeDom.Providers.DotNetCompilerPlatformni aslida hal qilmagan boshqa loyihada yuklashni xohlamadim va u ishlamadi.
qo'shib qo'ydi muallif Captain America, manba

9 javoblar

@CaptainAmerica tomonidan ta'kidlanganidek, bu echim NuGet'dan CodeDom to'plamini yangilashdir. Buni Visual Studio'da qanday qilish kerakligini ko'rsatish kerak. Men bu erni topdim:

https://www.nuget.org/packages/Microsoft.CodeDom.Providers. DotNetCompilerPlatform/

Asosan, Visual Studio menyusida quyidagini tanlang:

Tools-> Nuget Package Manager -> Package Manager Console

Visual Studio pastki qismida ko'ringan konsolda bu buyruqni ishga tushirish:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
55
qo'shib qo'ydi
Buni men uchun hal qilmaydi. :(
qo'shib qo'ydi muallif Juan Carlos Oropeza, manba
Bu mumkin yoki ishlamasligi mumkin, lekin IntelliSense/CodeAnalysis ning Visual Studio dasturida ishlaydiganligi uchun bu shaxsiy echimlar NuGet paketiga muhtoj bo'lishining yomon fikri kabi ko'rinadi. 3 ta yangilanishni yangilash uchun yangilanish.
qo'shib qo'ydi muallif Suamere, manba
Katta rahmat! Buni qildi. Buyruqlar buyrug'ini buyurtma qilish uchun maxsus minnatdorchilik. Menga mutlaqo talab qilinadigan narsadan ko'proq o'qish qobiliyatini saqlab qoldi. ;)
qo'shib qo'ydi muallif Sven M., manba
Bu muammoni echadi, lekin nima uchun biz bu paketni to'liq qo'shishimiz kerakligini tushunmayapman. Bugungi kungacha Ctrl + '.' barcha yechimlarda yaxshi ishladi va bizning NuGet konfiguratsiyalaridan birida ko'rsatilgan paketga ega emasmiz. VS 2015 o'rnatilishini tuzatish ham yordam bermadi.
qo'shib qo'ydi muallif System.Cats.Lol, manba

Visual Studio 2015 yangilanishi 3 ga yangilash uchun barcha echimlarni global ravishda muammoni hal qilish uchun Visual Studio 2015 Update 2 bilan bir xil muammolarga duch keldim. Bu erda havola: Bu yerdan yuklab olish

26
qo'shib qo'ydi
Bu men uchun ishlamadi, lekin stackoverflow.com/a/42560044/581285 muammoni hal qildi.
qo'shib qo'ydi muallif Mauro Vanetti, manba
Yangilash 3 10/10 tuzatish. Bu tanishtiruv qachon yuz berdi? Menga to'satdan bir narsa keldi.
qo'shib qo'ydi muallif AlbatrossCafe, manba
Men ushbu javobga to'g'ri javobni o'zgartiraman, chunki mening original javobim hozirgi yechimni emas, balki boshqa biron-bir qarorimni emas. Menimcha, bu muammoni to'g'rilaydi va bu xato uchun hal qidirib ko'p odamning xohishi kerak bo'lgan javobdir. Tashakkur shopOff!
qo'shib qo'ydi muallif Captain America, manba
Men yordam beraman :)
qo'shib qo'ydi muallif shopOFF, manba

Variantlardan biri ishlamasa, bu stsenariyni muhokama qilish uchun batafsil qo'llanma ...

Birinchidan, versiya muhim ahamiyatga ega. Xato ichida aytilgan versiyaga e'tibor bering ...

Could not load file or assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Yuqoridagi xatolikni ko'rsangiz, 1.3.1 versiyasini topa olmaysiz. Endi yangi VS loyihasini yaratib bering. Hech qanday imtiyoz yo'q, oddiy konsol ilovasi bo'lishi mumkin. Endi loyiha shabloni tayyor bo'lgach, Paket menejeriga o'ting va belgilangan versiyasi bilan quyidagi buyruqni bajaring ...

Install-Package Microsoft.CodeAnalysis -Version 1.3.1

Bu barcha paketlarni o'rnatadi. Qoldiring. Bir marta bajarildi. Biz bu yangi tashkil etilgan loyihaga umuman muhtoj emasmiz. Uni to'liq o'chirishingiz mumkin. Jiddiy! uni o'chirib tashlashingiz mumkin. Buni biz qildik, chunki bu paket global nuget darajasida o'rnatilgan edi. Agar siz biror narsa o'rnatgan bo'lsangiz, nuget uni mashinangizning global darajasida saqlaydi. Yo'l shunga o'xshash bo'ladi ...

C:\Users\<>\.nuget\packages

Quyidagi yo'lni bilib olasiz ...

%USERPROFILE%\.nuget\packages

Endi quyidagi kerakli papkada kerakli Microsoft.CodeAnalysis.dll ni ko'rasiz ...

C:\Users\<>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45

Yuqoridagi yo'lda versiya raqami (1.3.1) mavjudligini unutmang. Versiyangiz boshqacha bo'lsa, ushbu versiya papkasini ko'rib chiqing.

Now that you have dll with you, all that you need to do is add that dll to GAC. For that you will need GacUtil.exe

Ushbu fayl Visual Studio bilan birga o'rnatiladi. C diskida "GacUtil" ni qidirib topishingiz mumkin. Men uchun u pastdagi yo'lda ...

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

Endi Administrator sifatida buyruq irodasini bajaring va joriy katalogni GacUtil o'z ichiga olgan yo'lga o'ting. Ushbu DLLni GAC-ga o'rnatish uchun quyidagi buyruqni bajaring.

gacutil
 -i C:\Users\<>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll

Umuman, biz global o'rnatgan DLL yo'lini taqdim etamiz. U muvaffaqiyatli o'rnatish haqida xabar beradi.

Hammasi shu! Endi Visual Studio'ni qayta ishga tushiring va siz bu muammoni barqarorlashtirasiz.

15
qo'shib qo'ydi
Bu men uchun muomala qilardi! Boshqa fikrlarga qaraganda, yangi loyihada buni amalga oshirish kerak. Aks holda, halingizga bir tonna axlat qo'shasiz va ehtimol manba nazorat qilishingiz mumkin.
qo'shib qo'ydi muallif GilesDMiddleton, manba
@GilesDMiddleton, ha, juda to'g'ri! Bu, albatta, muhim ahamiyatga ega. Microsoft.CodeAnalysis, albatta, katta qaramlik to'plami va ularni biron-bir tarzda ishlaydigan loyihangiz ostida o'rnatishni xohlamasligingiz kerak.
qo'shib qo'ydi muallif Dhrumil Bhankhar, manba
Bu ishlaydi! kishi! sizga katta rahmat!
qo'shib qo'ydi muallif aftamat4ik, manba
Rahmat qilaman, bu ishlaydi. Mening holatimda o'rnatishim kerak bo'lgan 2 dyuym edi va men kompyuterni qayta ishga tushirishga majbur bo'ldim.
qo'shib qo'ydi muallif Ehsan Abidi, manba

Ushbu sahifa va sahifaning pastki qismida topdim "ASP.NET bilan moslik" ostida ASP.NET Microsoft.CodeAnalysis tuzilmalarini yangilash uchun Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget paketidan foydalanadi. Shuning uchun 1.0.0 dan 1.0.3 ga qadar DotNetCompilerPlatform paketini yangiladim va u yana ishlaydi! Ha, hayot yana yaxshi!

11
qo'shib qo'ydi
Xuddi shu muammo bor. Microsoft.CodeAnalysis kompilyatsiya qanday yangilanishi kerakligini tushuntirib bera olasizmi?
qo'shib qo'ydi muallif Marcello, manba
Ok. Men buni qildim va muammoni hal qildi, lekin faqat muayyan yechim uchun. Agar yana bir yechim ochsam, muammo davom etaveradi.
qo'shib qo'ydi muallif Marcello, manba
@Marcello Quyidagi javobni o'qing. Va boshqalar: Tools-> Nuget Package Manager -> Package Manager Console va keyin Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform .
qo'shib qo'ydi muallif Sven M., manba

Ushbu muammoni hal qilish uchun barcha echimlarni to'g'ridan-to'g'ri Microsoft.CodeAnalysis.dll to'plamini GAC - Global Assemblies Cache ga o'rnatish kerak edi.

Nestle/packages/Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45 + fayllaridan Microsoft.CodeAnalysis.dll faylini oldim. win8/Microsoft.CodeAnalysis.dll .

Derazani GAC ga o'rnatish uchun men PowerShell skriptini https://github.com/LTruijens/powershell -gac .

Nihoyat, men GACga PowerShell-dan quyidagi komandani o'rnatish bilan montajni o'rnatish imkoniyatiga ega bo'ldim:

Add-GacAssembly [myPath]\Microsoft.CodeAnalysis.dll
7
qo'shib qo'ydi
Katta fikr, lekin men uni sinab ko'rmadim. Bu, ehtimol 3-yangilanishda avtomatik ravishda amalga oshiriladi. Ammo, bu 3-chi yangilanishga qarshi bo'lgan har qanday yechimda buni amalga oshiradigan katta o'rta echimdir.
qo'shib qo'ydi muallif Suamere, manba
@EdPlunkett-ga qarang. github.com/LTruijens/powershell-gac/blob/ master/INSTALL.md qobiliyatlarni modulini qanday o'rnatish kerakligi haqida ma'lumot olishingiz mumkin
qo'shib qo'ydi muallif Lars Truijens, manba
Add-GacAssemblyga havola skriptga emas, balki hujjatlarga bog'langan. Bog'langan loyiha xushchaqchaq, har qanday haqiqiy skriptlarni o'z ichiga olmaydi. Google skriptning qaerda ekanligini biladi, ammo uning barchasi ssenariyning raqamli imzolanmagani haqida xat yozish.
qo'shib qo'ydi muallif Ed Plunkett, manba
Yaxshiyamki, PowerShell bilan jang qilish uchun bir yoki ikki kunga ega bo'lmaganlar uchun VS Tuzuvchi Buyruqning so'rovida gacutil mavjud. Buni GAC-da yuqoridagi anjumanni o'rnatish uchun foydalanishingiz mumkin. Bu masala men uchun hal qilinmadi.
qo'shib qo'ydi muallif Ed Plunkett, manba

Men ham shu masalaga duch keldim. Vizual studiya 2015 versiyasi 2.0 bo'ldi. Uni 3-versiyaga ko'targanman.

Muammo hal qilindi!

3
qo'shib qo'ydi

Muammoni shu tarzda hal qildim:

Update Visual studio 2015 to Update 3

from the menu chose View => Notifications => Visual Studio Update 3 and clicked the update button.

2
qo'shib qo'ydi

Mening vaziyatimda, xato Live Unit Testingni o'chirib qo'yganingizdan va testlarni qo'lda bajarganingizdan so'ng yuzaga keldi. Ba'zi testlar yuqoridagi xato xabari bilan muvaffaqiyatsiz bo'ladi.

Going into Test --> Live Unit Testing --> Options and issuing "Delete Persisted Data" resolved the problem.

0
qo'shib qo'ydi

Ushbu muammoni barcha Nuget Microsoft qaramligini V2.0.0 versiyasiga yangilash orqali hal qildim. Bu VS 2017 dan foydalangan. Men oldindan ko'rish versiyasini ishlatganman.

0
qo'shib qo'ydi