【发布时间】:2021-11-03 06:59:14
【问题描述】:
在VB.Net Core中使用FileSystem.Rename函数时,弹出警告CA1416,说这个函数只支持Windows。但是,我的研究都没有收集到其他操作系统的替代方案。
我想知道适用于所有平台的解决方法是什么样的。
【问题讨论】:
在VB.Net Core中使用FileSystem.Rename函数时,弹出警告CA1416,说这个函数只支持Windows。但是,我的研究都没有收集到其他操作系统的替代方案。
我想知道适用于所有平台的解决方法是什么样的。
【问题讨论】:
首先,您不应该使用这样的 VB6 保留,无论是在 Windows 上还是在 .NET Core 或 .NET Framework 上。几乎任何属于 Microsoft.VisualBasic 命名空间中的模块成员的函数都应避免使用,除非它提供了替代选项的特定值。
至少,如果您要使用特定于 VB 的东西,请使用My.Computer.FileSystem.RenameFile。即使这可能是特定于 Windows 的,因为我认为它使用的是 Windows shell。
如果您坚持直接使用标准 .NET 内容,那么您将使用 System.IO 命名空间,在本例中为 File.Move。
【讨论】:
My.Computer 似乎是我的 VS 安装中完全不存在的命名空间。不过我不知道File.Move。这确实是解决方案。谢谢你。 :)
My 在 .NET 5 中可用,但在 .NET Core 3.1 或更早版本中不可用。它也可能仅在 .NET 5 中的 WinForms 和 WPF 项目中可用。System.IO 是您应该查找所有文件系统内容的地方。