【问题标题】:VB.Net FileSystem.Rename on non-Windows platformsVB.Net FileSystem.Rename 在非 Windows 平台上
【发布时间】:2021-11-03 06:59:14
【问题描述】:

在VB.Net Core中使用FileSystem.Rename函数时,弹出警告CA1416,说这个函数只支持Windows。但是,我的研究都没有收集到其他操作系统的替代方案。

我想知道适用于所有平台的解决方法是什么样的。

【问题讨论】:

    标签: linux vb.net macos


    【解决方案1】:

    首先,您不应该使用这样的 VB6 保留,无论是在 Windows 上还是在 .NET Core 或 .NET Framework 上。几乎任何属于 Microsoft.VisualBasic 命名空间中的模块成员的函数都应避免使用,除非它提供了替代选项的特定值。

    至少,如果您要使用特定于 VB 的东西,请使用My.Computer.FileSystem.RenameFile。即使这可能是特定于 Windows 的,因为我认为它使用的是 Windows shell。

    如果您坚持直接使用标准 .NET 内容,那么您将使用 System.IO 命名空间,在本例中为 File.Move

    【讨论】:

    • 我之所以使用 rename 是因为不知道它的替代方案。我正在动态重命名目录,My.Computer 似乎是我的 VS 安装中完全不存在的命名空间。不过我不知道File.Move。这确实是解决方案。谢谢你。 :)
    • @ReciterofPoetry,我相信 My 在 .NET 5 中可用,但在 .NET Core 3.1 或更早版本中不可用。它也可能仅在 .NET 5 中的 WinForms 和 WPF 项目中可用。System.IO 是您应该查找所有文件系统内容的地方。
    猜你喜欢
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2012-07-24
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多