example - Problemas al incorporar IronPython en C#(Falta el compilador requerido miembro ''Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember''
ironpython vs python (2)
Debe agregar una referencia a Microsoft.CSharp.dll
. Esto proporciona los tipos necesarios para usar dynamic
en C #.
Además, es probable que necesite actualizar a IronPython 2.7 [.3] o posterior, ya que existen algunas incompatibilidades con versiones anteriores y los más recientes .NET frameworks.
Intento hacer un simple hello world para probar la incrustación de IronPython dentro de C # pero parece que no puede resolver este problema.
Este es mi archivo C #;
using System;
using IronPython.Hosting;
using Microsoft.Scripting;
using Microsoft.Scripting.Hosting;
using System.IO;
public class dynamic_demo
{
static void Main()
{
var ipy = Python.CreateRuntime();
dynamic test = ipy.UseFile(@"../../Test.py");
test.Simple();
}
}
Y esta es la clase de python;
import sys
def Simple():
print ''Hello from Python''
print "Call Dir(): "
print dir()
print "Print the Path: "
print sys.path
Mi objetivo .NET Framework es 4.0 y estoy usando IronPython 2.6 ..
Recibo 2 errores cuando ejecuto este es de un archivo llamado "CSC"; Error 5 miembro requerido del compilador faltante
''Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember'' C: / Users / Tolga / documents / visual studio 2012 / Projects / WindowsFormsApplication1 / consoleTest / CSC consoleTest
El otro es del archivo C # que creé
Error 6 No se pueden encontrar uno o más tipos necesarios para compilar una expresión dinámica. ¿Te estás perdiendo una referencia? C: / Users / Tolga / documents / visual studio 2012 / Projects / WindowsFormsApplication1 / consoleTest / Program.cs 17 9 consoleTest
Aquí está el resultado de la compilación
1>------ Build started: Project: consoleTest, Configuration: Debug Any CPU ------
1>CSC : warning CS1685: The predefined type ''System.Runtime.CompilerServices.CallSite'' is defined in multiple assemblies in the global alias; using definition from ''c:/Program Files (x86)/IronPython 2.6/Microsoft.Scripting.Core.dll''
1>CSC : warning CS1685: The predefined type ''System.Runtime.CompilerServices.CallSite'' is defined in multiple assemblies in the global alias; using definition from ''c:/Program Files (x86)/IronPython 2.6/Microsoft.Scripting.Core.dll''
1>CSC : warning CS1685: The predefined type ''System.Runtime.CompilerServices.CallSiteBinder'' is defined in multiple assemblies in the global alias; using definition from ''c:/Program Files (x86)/IronPython 2.6/Microsoft.Scripting.Core.dll''
1>CSC : warning CS1685: The predefined type ''System.Runtime.CompilerServices.ExtensionAttribute'' is defined in multiple assemblies in the global alias; using definition from ''c:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5/mscorlib.dll''
1>CSC : error CS0656: Missing compiler required member ''Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember''
1>C:/Users/Tolga/documents/visual studio 2012/Projects/WindowsFormsApplication1/consoleTest/Program.cs(17,9,17,20): error CS1969: One or more types required to compile a dynamic expression cannot be found. Are you missing a reference?
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
También obtendrá este error si ha incluido referencias a ensamblajes de destino incorrectos . Por ejemplo, si compila contra el perfil completo de .Net 4.0, debe incluir los ensamblajes de IronPython desde:
<install directory>/IronPython 2.7/Platforms/Net40
La inclusión de ensamblados del directorio Net35
también dará como resultado el error de RuntimeBinder
falta.