首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图从IronPython调用VB.net --“没有声明名称'PythonEngine‘”。

试图从IronPython调用VB.net --“没有声明名称'PythonEngine‘”。
EN

Stack Overflow用户
提问于 2009-06-30 17:31:20
回答 2查看 2.5K关注 0票数 0

我正在尝试从这个调用IronPython的例子复制VB.net代码。我下载并安装了IronPython,并创建了一个VB.net控制台应用程序。我在IronPython安装文件夹中添加了对所有all的引用:

  • IronPython
  • IronPython.Modules
  • IronPythonTest
  • Microsoft.Scripting.ExtensionAttribute
  • Microsoft.Scripting
  • Microsoft.Scripting.Core

我有一个源代码:

代码语言:javascript
复制
Option Explicit On
Option Strict On

Imports Microsoft.Scripting.Hosting
Imports Microsoft.Scripting
Imports IronPython.Hosting
Imports IronPython.Runtime.Types

Module Module1
    Public Class HelloWorldVB
        Public Overridable Function HelloWorld(ByVal name As String) As String
            Return String.Format("Hello '{0}' from Visual Basic", name)
        End Function
    End Class

    Sub Main()
        Dim helloWorld As New HelloWorldVB()
        Console.WriteLine(helloWorld.HelloWorld("Maurice"))

        Dim runtime As ScriptRuntime = PythonEngine.CurrentEngine.Runtime
        Dim scope As ScriptScope = Runtime.ExecuteFile("HelloWorld.py")
        Dim pythonType As PythonType = scope.GetVariable(Of PythonType)("HelloWorldIronPython")
        helloWorld = CType(Runtime.Operations.Call(pythonType), HelloWorldVB)
        Console.WriteLine(helloWorld.HelloWorld("Maurice"))

        Console.ReadLine()
    End Sub
End Module

我收到错误“名称'PythonEngine‘是没有声明的。”

在搜索PythonEngine时,我似乎找不到ObjectBrowser。

该示例过时了吗?还是我有错误?

EN

回答 2

Stack Overflow用户

发布于 2009-06-30 18:08:33

事情似乎变了。

我没有在IronPython上工作,现在已经下载了。

我尝试将您的代码与IronPython.DLL内部的内容关联起来

  • 添加对IronPython.dll的引用
  • 添加导入语句- "Imports IronPython.Hosting“。

Dim scriptEngine as Python.CreateEngine()

代码语言:javascript
复制
 `Dim scope As ScriptScope = scriptEngine.ExecuteFile("myfile.py")`

我想您的其余代码应该按原样工作。

将Ironpython.dll加载到反射器中&您将能够看到类型/方法/属性。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2009-07-09 01:10:42

我在IronPython 2.0.1附带的FAQ中找到了这个链接,您以前读过吗?Aaron :关于IronPython的更多内容

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1064954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档