【发布时间】:2021-08-13 07:10:41
【问题描述】:
我正在从事一项 SSIS 工作,该工作在 VB.Net 中有一个脚本任务。从长远来看,我们的组织方针是转向 C#。对于我正在开发的一项新 SSIS 工作,我使用了一个在线 VB.Net 到 C# 转换器并将其用于脚本任务。读取变量的 VB.Net 语句在 C# 中具有类似的语法,但会引发错误消息。下面是 VB.Net 和等效的 C# 代码。
VB.Net 声明:
Dim strEnvironment As String = Dts.Variables.Item("g_Environment").Value.ToString()
C# 语句:
String strEnvironment = Dts.Variables.Item("g_Environment").Value.ToString()
如您所见,将值存储在变量中的语句在 VB.Net 和 C# 中是相同的。但是,当我在 SSIS 作业的脚本任务中使用此代码时,C# 代码会标记以下错误消息。
'Variables' does not contain a definition of 'Item' and no accessible extension method 'Item' accepting a first argument of type 'Variables' could be found (Are you missing a using directive or an assembly reference?).
我的导入语句有以下内容:
Using System;
Using System.IO;
Using System.text;
Using Sytsem.Collections;
Using System.Data;
Using Microsoft.Visualbasic;
Using Microsoft.SqlServer.Dts.Runtime;
我对 SSIS/VB.Net 和 C# 完全陌生。有人可以帮忙吗?
【问题讨论】:
-
在VB中应该是
Dim strEnvironment as String而不是String strEnvironment。 -
Dts.Variables["g_Environment"] -
@ErrBon,对不起,我的语法错误很糟糕。它只是 Dim strEnvironment As String。我改变了 OP。
-
@Chetan,这有点帮助。我不得不使用 Dts.Variables["g_Environment].ToString(); 感谢您的帮助。
标签: c# vb.net syntax-error