Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dynamic in the immediate window causes 'Microsoft.CSharp.RuntimeBinder.Binder' is not defined or imported error

If I use dynamic in the immediate window of Visual Studio I get an error

Predefined type 'Microsoft.CSharp.RuntimeBinder.Binder' is not defined or imported

How can I fix that?

like image 738
Colonel Panic Avatar asked Nov 26 '12 14:11

Colonel Panic


4 Answers

You should add reference to Microsoft.CSharp library in the selected project or in the startup project. And your project should reference .NET Framework 4 or higher.

MSDN about immediate window context:

When establishing the context for design time expression evaluation, Visual Studio references the currently selected project in Solution Explorer. If no project is selected in Solution Explorer, Visual Studio attempts to evaluate the function against the startup project. If the function cannot be evaluated in the current context, you will receive an error message.

like image 121
HoberMellow Avatar answered Nov 18 '22 19:11

HoberMellow


Two things are important. Check the following:

  1. That your project properties are referencing .NET Framework 4 or higher (if that is not the case, change it: Right click on the project, select the "Properties..." menu item, then select as target framework ".NET Framework 4" (or higher))
  2. That you have added the "Microsoft.CSharp" assembly as reference (note that step 1., which requires to re-load the project, must be done before you can do that)

Afterwards you can use the dynamic type. The reference needs to be added in the selected project or in the startup project in order to become available in the immediate window's scope.


Note: Here I found a nice article about dynamics in C#, how it works and what you can do with it.

like image 28
Matt Avatar answered Nov 18 '22 19:11

Matt


  1. Go to project->add reference.
  2. select assemblies from the side bar and Framework
  3. check Microsoft.CSharp

Happy coding!

like image 8
Victor Michael Kosgei Avatar answered Nov 18 '22 17:11

Victor Michael Kosgei


Namespace: Microsoft.CSharp.RuntimeBinder

Assembly: Microsoft.CSharp (in Microsoft.CSharp.dll)

Example
http://stepbystepdotnet.wordpress.com/2012/08/06/predefined-type-microsoft-csharp-runtimebinder-binder-is-not-defined-or-importedtestproject1/

http://msdn.microsoft.com/en-us/library/microsoft.csharp.runtimebinder.binder%28v=vs.110%29.aspx

http://msdn.microsoft.com/en-us/library/microsoft.csharp.runtimebinder%28v=vs.110%29.aspx

like image 3
Ahmed Galal Avatar answered Nov 18 '22 19:11

Ahmed Galal