Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET Core 1.1 compiling with C# dynamic Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'

I'm using Visual Studio 2017 RC and started a new ASP.NET Core project targeting the full .NET Framework.

This line of code will not compile.

 dynamic handler = _container.GetService(handlerType);

 if (handler == null) _logger.LogError("Can't find handler to handle " + cmd.GetType().Name);

I get the following error

CS0656  Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'

After some Googling it looks like this is because I'm missing the Microsoft.CSharp Assembly. There are plenty of people who have stumbled into his issue but not seemingly with .NET Core 1.1.

So I did this Install-Package Microsoft.CSharp and got version 4.3.0. My project still won't build.

If I add an Assembly Reference to Microsoft.CSharp (the GAC'd version) then it Compiles and runs.

Is this a Bug? I would have expected the NuGet package to fix this?

like image 670
SimonGates Avatar asked Dec 02 '16 10:12

SimonGates


2 Answers

I faced this problem. I resolved this problem for me. You must install Microsoft.CSharp library to your solution from nuget.

You can use Package Manager Console for install Microsoft.CSharp. For example If you want install Microsoft.CSharp 4.7.0 version, you must run this command on the Package Manager Console:

Install-Package Microsoft.CSharp -Version 4.7.0

Nuget link: Microsoft.CSharp

like image 166
Ramil Aliyev Avatar answered Oct 13 '22 15:10

Ramil Aliyev


Just add the reference of Microsoft.CSharp.dll and your error will be removed.

like image 35
Sheriff Avatar answered Oct 13 '22 17:10

Sheriff