我正在测试一段使用嵌套使用语句的代码。我已将其更改为using
块中的try/finally
语句。当我尝试在Dispose
块中调用finally
方法时,我得到EntryPointNotFoundException
。我尝试过很多东西,但我不确定如何解决这个问题。这是我的代码:
var memoryStream = new MemoryStream(message.FileContent);
try
{
using (var sftpClient = this.GetSftpClientFromId(message.CustomerId))
{
return sftpClient.UploadFileAsync(memoryStream, message.FileName, true);
}
}
finally
{
memoryStream?.Dispose();
}
我该如何解决这个问题?
答案 0 :(得分:0)
发生这种情况。
问题最终是:
简短版本:
程序集引用了在将来的版本中实现IDisposable的对象,但是在运行时加载了旧版本。因此,当它尝试调用旧版本中不存在的Dispose()时,它就会变成ummmmm EntryPointNotFoundException!
长版: