私はhereの例があります。 だから私はC#のスクリプトでIronPythonのを実行しようとしている:C#の動的コンパイルと "Microsoft.CSharp.dll"エラー
のPython:
def hello(name):
print "Hello " + name + "! Welcome to IronPython!"
return
def add(x, y):
print "%i + %i = %i" % (x, y, (x + y))
return
def multiply(x, y):
print "%i * %i = %i" % (x, y, (x * y))
return
のC#:
using IronPython.Hosting;
using IronPython.Runtime;
using Microsoft.Scripting.Hosting;
using System;
namespace IntroIronPython
{
class IronPythonMain
{
static void Main(string[] args)
{
// Create a new ScriptRuntime for IronPython
Console.WriteLine("Loading IronPython Runtime...");
ScriptRuntime python = Python.CreateRuntime();
try
{
// Attempt to load the python file
Console.WriteLine("Loading Python File...");
// Create a Dynamic Type for our Python File
dynamic pyfile = python.UseFile("PythonFunctions.py");
Console.WriteLine("Python File Loaded!");
Console.WriteLine("Running Python Commands...\n");
// Call the hello(name) function
pyfile.hello("Urda");
…
そして、ここから、私はこのエラーを持っている: 「動的操作をすることはできません「Microsoft.CSharp.dll」アセンブリ参照なしでコンパイルされます。 そして、私は真剣にそれが何であるのか理解できません。何を追加するのを忘れましたか?私の参考文献に
私が持っている:あなたの助けのための
Thxをします。
Ps:私はMonoDevelopを使用しています。
あなた自身の答えを解決策にフラグを立てて、将来の訪問者があなたが問題を解決したことを見ることができるようにしてください!また私はあなたが見つけてうれしくて、私の例を使用することを選択しました:) – Urda
これも私の問題でした。 Visual StudioのC#2010 Expressで ".NET"タブを使用して参照を追加しました。私は出現した元のファイルは 'Net35'ディレクトリからのみたいかもしれないと思います。 [参照の追加]ダイアログボックスの[パス]に注意してください。 'IronPython 2.7 \ Platforms \ Net40'からそれらを追加すると、ビルドが成功し、両方のアセンブリのセットが参照の追加の.Netタブに表示されるようになりました。 (これはあまりにも前のケースかもしれませんが、気づかなかっただけです)。 – cod3monk3y