SSIS脚本任务C#只能使用赋值和新对象表达式错误

SSIS脚本任务C#只能使用赋值和新对象表达式错误,c#,sql-server,ssis,C#,Sql Server,Ssis,我在SSIS中使用C#脚本任务来检查文件的文件大小,并与名为FileFoundSize的变量进行比较。这是我的代码: public void Main() { string fullPath = Path.Combine(Dts.Variables["$Project::ValidationImport"].Value.ToString(), Dts.Variables["User::zipFileName"].Value.

我在SSIS中使用C#脚本任务来检查文件的文件大小,并与名为
FileFoundSize
的变量进行比较。这是我的代码:

    public void Main()
    {
        string fullPath = Path.Combine(Dts.Variables["$Project::ValidationImport"].Value.ToString(), Dts.Variables["User::zipFileName"].Value.ToString());
        var fileInfo = new FileInfo(fullPath);

        if (fileInfo.Exists)
        {
            fileInfo.Length > Dts.Variables["User::FileFoundSize"];
            Dts.TaskResult = (int)ScriptResults.Success;
        }
        else
        {
            // file could not be found     
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
    }
但是,编辑器会一直高亮显示这一行:

fileInfo.Length > Dts.Variables["User::FileFoundSize"];
并指出这一错误:


我遗漏了什么?

请尝试下面的代码,您遗漏了变量的Value属性

if (fileInfo.Exists)
{
        if(fileInfo.Length > Convert.ToInt32(Dts.Variables["User::FileFoundSize"].Value.ToString()))
           Dts.TaskResult = (int)ScriptResults.Success;
        else
           Dts.TaskResult = (int)ScriptResults.Failure;
}
else
{
        Dts.TaskResult = (int)ScriptResults.Failure;
}

您正在像方法一样调用属性:
fileInfo.Exists()
应该是
fileInfo.Exists
(不带
()
)。然后我收到错误:运算符>不能应用于long和objectcheck类型的操作数,现在附加到变量声明选项卡中的字符串(),我希望您将FileFoundSize变量声明为Int或stringFileFoundSize变量现在为INTcheck,使用Convert.ToInt32转换为变量的intger值