首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有参考脚本的VB脚本在ScriptControl c#中无法工作

带有参考脚本的VB脚本在ScriptControl c#中无法工作
EN

Stack Overflow用户
提问于 2017-11-28 10:16:42
回答 1查看 617关注 0票数 0

嗨,我正在用c#中的脚本控件执行一个VB脚本。如果它是一个独立的脚本,那么通过使用下面的代码,它可以很好地工作。

代码语言:javascript
复制
            ScriptControl SC = new ScriptControl();
            SC.Language = ScriptType;
            SC.AddObject("Repository", RP);
            SC.AddCode(scriptcontents);
            Object[] runobject = { };
            string result = SC.Run(ScriptName, runobject);

但是,当我试图运行包含其他脚本引用的VBScript 时,它不会在脚本控件中执行并引发错误。引用脚本中的其他脚本

!公司本地Scripts.Constants-VBScript

是否有方法在脚本控件中添加脚本的引用脚本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-29 17:58:19

Enterprise中的VBscripts有一些“扩展”,这些扩展在通过通用脚本主机执行它时存在问题。

  • 包含: EA使用语法!INC <scriptGroup>.<ScriptName>来包含其他脚本。然而,这是其他脚本解释器所不知道的EA特定语法。为了避免这种情况,您可以替换include语句,这是包含的脚本的全部代码。
  • 变量类型:在EA脚本中,您可以编写类似于Dim myVar as EA.Element的东西--这在EA脚本编辑器中非常有用,因为它允许代码完成,但是任何其他脚本解释器都不知道语法。应该删除这些类型声明。
  • Session和Repository:在EA中,您可以使用Session和Repository对象而无需定义它。如果要使用ScriptControl执行脚本,则必须将它们作为对象添加。对于存储库,可以使用scriptController.AddObject("Repository", eaRepository);完成

有关完整的工作示例,请参阅企业架构师外接程序框架 on Github。

此代码从模型和千年发展目标中读取脚本,处理包含,并添加Repository对象。

它不处理变量类型和会话对象。

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

https://stackoverflow.com/questions/47529013

复制
相关文章

相似问题

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