2013-05-18 51 views
0

我要運行用Python寫的我的Windows Phone 8的C#應用​​程序內的Skeinforge切片機程序。我已經決定,我應該使用IronPython的做到這一點,我已經決定,我可以在ipy.exe終端當我安裝了IronPython的我內運行Skeinforge。我的問題是,雖然我很努力找出如何託管並運行IronPython的Python腳本的Windows Phone 8,我也已經得到了一個桌面窗口中運行簡單的Hello World腳本中窗體應用程序,應用程序控制臺傳送輸出到調試控制檯下面的代碼:運行 - Python腳本/應用8

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Diagnostics; 
using System.IO; 

using IronPython.Hosting; 
using Microsoft.Scripting.Hosting; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      DebugWriter debugW = new DebugWriter(); 
      Console.SetOut(debugW); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      TextWriter tw = new StreamWriter("Test.py"); 
      tw.Write(scriptBox.Text); 
      tw.Close(); 

      try 
      { 
       var ipy = Python.CreateRuntime(); 
       dynamic test = ipy.UseFile("Test.py"); 
      } 
      catch (Exception ex) 
      { 
       Debug.WriteLine("Error: " + ex.Message); 
      } 
     } 
    } 
} 

這是DebugWriter:

class DebugWriter : TextWriter 
{ 
    private StringBuilder content = new StringBuilder(); 

    public DebugWriter() 
    { 
     Debug.WriteLine("Writing console to debug"); 
    } 

    public override void Write(char value) 
    { 
     base.Write(value); 
     if (value == '\n') 
     { 
      Debug.WriteLine(content.ToString()); 
      content = new StringBuilder(); 
     } 
     else 
     { 
      content.Append(value); 
     } 
    } 

    public override Encoding Encoding 
    { 
     get { return System.Text.Encoding.UTF8; } 
    } 
} 

我不知道怎麼甚至8應用程序,雖然增加了IronPython的圖書館我的Windows Phone作爲標準庫不會導入。我曾經試過,雖然與主源代碼編譯顯然是現已解散的Windows Phone 7個的庫和我可以導入這些庫,但我得到調試終端上絕對沒有任何反應,當我嘗試運行我的Hello World腳本。

做任何你有什麼想法如何得到這個迴環中的Windows Phone 8,如果你知道如何在Windows 8的操作/地鐵/ RT,那麼這將也可能是WP8工作。

更新: 我已經看過再次調試輸出,我似乎得到這個錯誤嘗試使用WP7庫運行一個Hello World腳本時:

A first chance exception of type 'System.NotImplementedException' occurred in Microsoft.Scripting.DLL 
Error: The method or operation is not implemented. 
+1

鐵Python不支持Windows Phone 8的 - 就這麼簡單。另外,如果一個庫支持WP8,那**不表示它會自動支持Win8/RT。 –

回答