You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Basic/.NET 6代码编译失败求助:My相关成员报错

问题原因

My.Application、My.Computer这类成员是.NET Framework专属的Visual Basic应用模型组件,.NET 6及后续的.NET Core系列框架默认不包含这套组件,所以直接移植代码会出现编译错误。

替代方案

替代My.Application.CommandLineArgs

使用.NET标准库的Environment.GetCommandLineArgs()方法,它跨所有.NET版本兼容。注意该方法返回的数组第一个元素是程序自身路径,若要和My.Application.CommandLineArgs的行为(仅返回参数)一致,可跳过第一个元素:

var commandLineArgs = Environment.GetCommandLineArgs().Skip(1).ToArray();

替代My.Computer.FileSystem.GetFiles(strFolder)

使用Directory.GetFiles()方法,这是.NET标准文件操作API,功能完全覆盖原方法,还支持更多重载:

// 基本用法:获取指定文件夹下的所有文件
var files = Directory.GetFiles(strFolder);

// 递归获取所有子文件夹中的文件
var allFiles = Directory.GetFiles(strFolder, "*.*", SearchOption.AllDirectories);

可选:强行启用My组件(不推荐)

如果一定要保留原代码写法,可以安装NuGet包Microsoft.VisualBasic,然后在代码中引用对应命名空间:

using Microsoft.VisualBasic.ApplicationServices; // 对应My.Application
using Microsoft.VisualBasic.Devices; // 对应My.Computer

但这种方式仅适合Windows平台,跨平台兼容性差,不建议在.NET 6+项目中使用。

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:32:05