在vs2012中搭建一个ironpython运行环境

来源:互联网 发布:淘宝上买dnf账号安全吗 编辑:程序博客网 时间:2024/05/16 06:46

环境需要:

1. Visual Studio 2012

2. Ironpython 2.7(下载地址:http://ironpython.codeplex.com/)

搭建步骤:

1. 创建一个C# Console Project(注意需要.NET 4.0)

2. 添加Ironpython.dll和Microsoft.Scripting.dll:


3. 修改App.config:

[html] view plaincopy
  1. <?xml version="1.0"?>  
  2. <configuration>  
  3.   <configSections>  
  4.     <section  
  5.       name="microsoft.scripting"  
  6.       type="Microsoft.Scripting.Hosting.Configuration.Section,  
  7.           Microsoft.Scripting,  
  8.           Version=1.1.0.20,  
  9.           PublicKeyToken=7f709c5b713576e1"  
  10.           requirePermission="false" />  
  11.   </configSections>  
  12.   <microsoft.scripting>  
  13.     <languages>  
  14.       <language  
  15.          names="IronPython;Python;py"  
  16.          extensions=".py"  
  17.          displayName="IronPython 2.7"  
  18.          type="IronPython.Runtime.PythonContext,  
  19.               IronPython,  
  20.               Version=2.7.0.40,  
  21.               PublicKeyToken=7f709c5b713576e1/>  
  22.     </languages>  
  23.   </microsoft.scripting>  
  24. </configuration>  

4. 创建PythonScript.py:

[python] view plaincopy
  1. def Test():  
  2.     return "Hello world!"  

5. 在Program.cs中添加:

[csharp] view plaincopy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using Microsoft.Scripting.Hosting;  
  6.   
  7. namespace AdhocStuff  
  8. {  
  9.     class Program  
  10.     {  
  11.         static void Main(string[] args)  
  12.         {  
  13.             var scriptName = "PythonScript.py";  
  14.             var scriptRuntime = ScriptRuntime.CreateFromConfiguration();  
  15.             var pythonEngine = scriptRuntime.GetEngine("Python");  
  16.             //var source = pythonEngine.CreateScriptSourceFromFile(scriptName);  
  17.             //var scope = pythonEngine.CreateScope();  
  18.   
  19.             dynamic test = scriptRuntime.UseFile(scriptName);  
  20.             Console.WriteLine(test.Test().ToString());  
  21.   
  22.             Console.ReadKey();  
  23.         }  
  24.     }  
  25. }  

6. 运行程序


备注:

1、在App.config中的dll版本可以在Reference中获得,dll的Culture并不是必须的,PublicKey何以通过以下方法获得:


2、可能出现的问题

a、创建 microsoft.scripting 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Scripting, Version=1.1.0.20, PublicKeyToken=7f709c5b713576e1”或它的某一个依赖项。系统找不到指定的文件。出现这种提示可将IronPython.dll和Microsoft.Scripting.dll地道项目所在的Debug文件夹下。

b、出现找不到PythonScript.py的情况,也可以将.py文件移到Debug下可解决问题。这个感觉还可以更该配置来解决。

参考:http://blog.csdn.net/mcai4gl2/article/details/8096789


0 0
原创粉丝点击