Невозможно использовать функции из DLL-файла в ASP.NET IronPython - PullRequest
0 голосов
/ 19 февраля 2010

У меня есть файл, подобный этому, скомпилированный в dll-файл и помещенный в папку bin

1

Imports System
Imports System.Web

Namespace Conexiones       
     Public Class sql_conexiones
       Shared Sub consulta..
           ...

Выполнив

from Conexiones import *

из.Файл aspx.py работает нормально.

У меня есть этот другой файл в APP_SCRIPT в файле py (пространства имен не объявлены)

2

import clr
clr.AddReference('System')
import System
clr.AddReference('System.Data')
from System.Data import * 
clr.AddReference('System.Web')
import System.Web

def consulta ...

Делая

from funciones import * 

из файла .aspx.py работает нормально.

Теперь я хочу код из функций в файле dll.У меня есть funciones.dll в папке bin, и у меня есть

from funciones import * 

в .aspx.py.

Я получаю «модуль с именем funciones не может»Dll?Я делаю

clr.AddReference("funciones.dll") 
from funciones import *

и получаю «Не удалось добавить ссылку на сборку funciones.dll»

У меня вопрос: как мне использовать функции в файле?с кодом, похожим на # 2, помещенным в DLL-файл в папке bin в ASP.NET IronPython?Единственное различие, которое я вижу между # 1 и # 2, состоит в том, что # 1 имеет объявленное пространство имен

1 Ответ

0 голосов
/ 19 февраля 2010

Я думаю, у вас есть два варианта:

  1. Попробуйте использовать AddReferenceToFile(str) или AddReferenceToFileAndPath(str). См. Это почта для объяснения.

  2. Вставьте bin\ в sys.path и попробуйте добавить ссылку.


Добавлено:

Идея компиляции кода IronPython заключается в следующем:

У вас есть файл func.py:

def one():
    return 1

Вы компилируете это с pyc.py:

C:\IronPython-2.6\ipy.exe C:\IronPython-2.6\Tools\Scripts\pyc.py /out:funciones /target:library func.py

Вы используете его в другом скрипте:

import clr
clr.AddReference('funciones')
import func
print func.one()

Надеюсь, вы видите разницу между func и funciones; -)

...