c# - VB.NET 应用程序中的脚本自动化

标签 c# .net vb.net scripting automation

我工作的软件公司为以前使用过其他类似软件的新客户提供数据转换服务。我编写了一个 VB.NET 应用程序来自动执行常见的转换操作,并且在已知供应商之间具有单独的逻辑。特定的文件布局已经变得相当普遍,但由于这个特定竞争对手的应用程序存储信息的方式的性质,某些字段对于一个客户意味着一件事,而对于不同的客户则意味着另一件事。

该供应商格式中的某些元素每次都会发生变化,因此我编写了应用程序来说明这一点。因为一些数据字段对不同的供应商意味着不同的东西,所以我每次都必须更改我的映射代码。当我每六个月左右就有一次这样的情况时,这不是问题,但这些情况变得越来越普遍,我更愿意找到一种方法来进一步自动化这个过程。

我正在考虑实现一种简单的解释型脚本语言,它允许我将客户端的转换设置保存在一个文本文件中,这样我就不必在每次运行应用程序时都将设置输入到我的应用程序中。从长远来看,我的目标是花时间在实现更快的转换上获得返回。

这是我脑海中的例子:

# this is a comment
RECORD INCLUDE(source[Class] != 'I' && source[Category] != 99);

FIELDMAP
  destination[name] == source[name];
  desintation[address] == source[mailingaddress1];
  ...
END FIELDMAP

BEGIN
  # logic goes here
END

我不想让它变得比它需要的更复杂。我承认,我什至从未研究过脚本编写,并且对于从哪里开始或需要考虑哪些其他因素一无所知。

是否已经有适用于 .NET 的脚本库可以满足我的大部分需求?编写脚本是解决这个问题的错误方法吗?如果有更好的方法,我真的不想重新发明轮子。

感谢您的帮助。 :)

最佳答案

IronPython (Jake 提到的 DLR 语言之一)是 Python 脚本语言的 .NET 实现。它允许您访问 .NET 代码(包括框架类和您编写的类),是完成此类任务的绝佳选择。

它没有任何真正的依赖项(除了 .NET Framework),您不需要学习很多 Python 特定的语法来完成工作。

(如果您决定使用 IronPython,我建议您使用 Notepad++ 作为您的编辑器。)

关于c# - VB.NET 应用程序中的脚本自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1980549/

相关文章:

c# - 具有驱动器号的 Path.Combine() 行为

c# - 如何处理 EF Core 上的并发

c# - 更高效地编辑 XML 代码注释的工具?

.net - 如何确定路径是否完全合格?

c# - 我有开始时间、结束时间和持续时间..我想在开始时间中添加持续时间,直到在 C# 中实现结束时间?

c# - 桌面桥toast打开应用程序

c# - 如何从 WMI 获取方法

mysql - 用数据库中的数据填充数据表

asp.net - 如何将 HTML 页面转换为 .ASPX 页面并向其添加/删除控件而不更改页面布局

c# - 试图创建一个文件并立即删除它