一是一些背景(櫃面它可以幫助):問題與在C#的Web應用程序中嵌入的IronPython 2
我的應用程序是一個基於Web的框架,最近升級到.NET Framework V3.5的但不使用母版頁/用戶控制系統。它更類似於MVC模式(雖然年代久遠),並且從模板輸出純HTML到響應流。 Python表達式允許實現一些規則和模板變體。
舊的方式
當嵌入在C#IronPython的1.x的引擎,我們能夠做的代碼,如:
PythonEngine pe = new PythonEngine();
Assembly a = Assembly.LoadFile("path to assembly");
pe.LoadAssembly(a);
pe.Import("Script");
存在IPY 2.0沒有導入()方法並且ImportModule()方法似乎不以相同的方式工作。導入()緩解了需要把線在我們寫每一個python腳本,如:
from MyAssembly import MyClass
的事實,MyClass的是充滿了靜態方法,手段,調用MyClass.MyMethod()工作非常好。我不能僅僅實例化一個對象,並將它分配給作用域中的一個變量,因爲MyClass所在的程序集在運行時動態加載。
我們
我已經整理出來的IronPython 2.0的集成的所有其他部分,但寧願不要求我的實施者「從MyAssembly程序導入MyClass的」請在每個腳本的頂部的問題他們寫道(只是在ipy 1.x中沒有必要時才顯得很愚蠢),並且很可能成爲一段時間的支持問題。
最後的問題
有沒有人有這個問題,並解決它?我是否在爲DLR做錯事情?還是我錯過了明顯的東西?
我不確定需要幫助的人的詳細信息,但我希望這已經足夠。