BizTalk 转换失败

Transformation failed BizTalk

我在 Script functoid 中有一个带有 C# 脚本的地图,用于将 dd/MM/yyyy 格式的日期转换为 yyyy-MM-dd 格式:

这是我在 functoid 中使用的脚本:

public string CheckDate(string inputDate)
{
  if(String.IsNullOrEmpty(inputDate))
    return "";
  else
  {
    System.DateTime dt = System.Convert.ToDateTime(inputDate);
    return dt.ToString("yyyy-MM-dd");
  }
}

出于未知原因,当我在 VS 中执行 Test Map 时,此脚本完美运行,它也适用于我的 DEV 环境,但是当我将其部署在 UAT 上时,出现此错误留言:

General Exception : Error encountered while executing the transform XXX. Error:Transformation failed..

我已经尝试使用 TryParse()TryParseExact(),但映射行为仍然相同。在 DEV 和测试映射上工作,但不在 UAT 上工作。

编辑

我从错误中捕获了 InnerException: System.Reflection.TargetInvocationException: 调用目标抛出异常。 ---> System.FormatException: 字符串未被识别为有效的日期时间。 在 System.DateTimeParse.Parse(字符串 s、DateTimeFormatInfo dtfi、DateTimeStyles 样式) 在 System.Convert.ToDateTime(字符串值) 在 System.Xml.Xsl.CompiledQuery.Script1.ConvertCompletedDate(字符串参数)

所以问题是输入值,但我只是不想在 UAT 环境下工作。 DEV 不会引发此错误。我检查了使用的 .NET 框架,它们在两种环境中都是相同的。

有人能告诉我如何将 18/11/2021 转换为有效的 DateTime 格式吗?

我终于发现我的TryParseExact()不好

如果您有此类错误并且问题与日期时间有关,答案是@Shar1er80 的回复