Pytanie Nie można zbudować projektu C #



 Mam jakiś dziwny problem.
Używając tego kodu, nie jestem w stanie zbudować, ale nie daje mi błędów kompilacji.

kod

public void myMethod()
{              
    //This returns a string in JSON format.
    var jsonResponse = myApi.ReadMobileDevice("1");


    dynamic dynamicJson= JsonConvert.DeserializeObject(jsonResponse);

    //THIS LINE BREAKS MY BUILD. NO BUILD ERRORS SHOWN
    var jValue = dynamicJson["general.display_name"];
}

Czy ktoś może mi powiedzieć, dlaczego moje kompilacje nękają, a także dlaczego nie pojawiają się błędy kompilacji?

AKTUALIZACJA - Wyjście
* Zmieniono również var na string

1>------ Build started: Project: Control, Configuration: Debug x86 ------
1>  Restoring NuGet packages...
1>  To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
1>  All packages listed in packages.config are already installed.
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(563,28,563,40): error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
1>C:\ActacomProjects\DEV-Google\Control\Classes\DomainObjects\Schedules\HTTPSchedulesResponse.cs(41,34,41,36): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\Classes\DomainObjects\Schedules\HTTPSchedulesResponse.cs(87,30,87,32): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(1225,26,1225,45): warning CS0219: The variable 'recreateApplication' is assigned but its value is never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(1809,71,1809,74): warning CS0168: The variable 'dnf' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(1813,54,1813,56): warning CS0168: The variable 'ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(5017,34,5017,36): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(5087,42,5087,44): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(5154,42,5154,44): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(5192,42,5192,44): warning CS0168: The variable 'Ex' is declared but never used
1>C:\ActacomProjects\DEV-Google\Control\ModifyService.svc.cs(5267,42,5267,44): warning CS0168: The variable 'Ex' is declared but never used
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

26
2017-09-09 08:49


pochodzenie


Czy próbowałeś ponownie uruchomić VS? - Yuval Itzchakov
Wyjaśniasz, co to znaczy: nie może zbudować, ale nie mam błędów? To VS nie pokazuje błędów, sprawdź dziennik wyjściowy - Piotr Stapp
Zastanawiam się, czy ma to coś wspólnego z używaniem var odwoływać się do obiektu zdefiniowanego jako dynamic? var musi być w stanie implikować typ podczas kompilacji, ale dynamic jest nieznany do czasu wykonania. - Michael McMullin
Gdzie patrzysz na "Dziennik"? Dodany obraz pokazuje okno błędu, a nie "Okno wyników" - czy możesz zajrzeć do okna wyjściowego? - freedomn-m
Teraz błąd jest jasny i wygląda na to, że zapomniałeś dodać Microsoft.CSharp.dll do twojego projektu. Czy przekonwertowałeś go z poprzedniej wersji? Czek to zduplikowane pytanie dla podobnego błędu - Panagiotis Kanavos


Odpowiedzi:


Ten błąd występuje w wynikach:

Brakujący wymagany element kompilatora "Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create"

Musisz dodać odniesienie do biblioteki DLL Microsoft.CSharp.dll.


69
2017-09-09 09:07



Problem rozwiązany dla mnie, gdy dodałem System.Core oprócz dodatku Microsoft.CSharp - Saminathan S
Muszę dodać Nuget.CSharp w projekcie xamarin.Forms jako docelowy projekt. Zespoły rdzenia 2.x i CSharp nie mogą być jawnie dodane do projektu przenośnego. pracował. - Sakthivel
Używam tego samego od Sakthivel, dodając Microsoft.CSharp z nuget do standardowego projektu .net, aby naprawić ten problem - frank
Dodaj nuget nuget.org/packages/Microsoft.CSharp - user


Podobnie jak komentarz Saminathan S w zaakceptowanej odpowiedzi. Jeśli korzystasz z projektów .NETStandard (w moim przypadku NETStandard 2.0), musisz dodać Microsoft.CSharp z NuGet, a nie jako odniesienie, aby rozwiązać ten błąd kompilacji. Używałem społeczności Visual Studio Community na komputerze Mac.


7
2018-03-07 12:20



To samo dla mnie w VS2017 Professional w systemie Windows. Dlaczego nie uwzględniono tego w szablonie projektu, pozostaje zagadką. - jmdon