Les problèmes d'intégration IronPython en C# (Manque le Compilateur nécessaire membre " de Microsoft.CSharp.RuntimeBinder.Classeur.InvokeMember'
Je suis en train de faire un simple hello world afin de tester l'incorporation de IronPython au sein de la C# mais n'arrive pas à résoudre ce problème..
C'est mon fichier 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();
}
}
Et c'est le python de la classe;
import sys
def Simple():
print 'Hello from Python'
print "Call Dir(): "
print dir()
print "Print the Path: "
print sys.path
Ma cible .NET framework 4.0 est et je suis l'aide de IronPython 2.6..
- Je obtenir 2 erreurs quand je lance celui-ci est à partir d'un fichier appelé "CSC";
Erreur 5 Manquant compilateur que les états
'De Microsoft.CSharp.RuntimeBinder.Classeur.InvokeMember' C:\Users\Tolga\documents\visual
studio
2012\Projects\WindowsFormsApplication1\consoleTest\CSC consoleTest
L'autre est à partir de C# fichier que j'ai créé
Erreur 6 Un ou plusieurs des types requis pour compiler une expression dynamique
ne peut pas être trouvé. Êtes-vous en manque un
de référence? C:\Users\Tolga\documents\visual studio
2012\Projects\WindowsFormsApplication1\consoleTest\Programme.cs 17 9 consoleTest
Voici la sortie de la compilation
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 ==========
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter une référence à
Microsoft.CSharp.dll
. Cela fournit les types pour l'utilisation dedynamic
en C#.Aussi, vous aurez probablement besoin de mettre à niveau à IronPython 2.7[.3] ou plus tard, comme il y a quelques incompatibilités avec les anciennes versions et les versions plus récentes .NET cadres.
MSBuild
avec le projet, ce qui permettra d'obtenir les références. Si vous utilisez le SCC, vous devez spécifier les références vous-même (ne pas lire à partir du fichier de projet).Vous pourrez également obtenir cette erreur si vous avez inclus des références à la mauvaise cible assemblées. Par exemple, si vous êtes la construction de contre la .Net 4.0 profil Complet, vous devez inclure le IronPython assemblées à partir de:
Y compris les assemblages de la
Net35
répertoire aura aussi pour conséquence le manqueRuntimeBinder
erreur.