执行mgmtclassgen生成NetworkAdapter.cs遇权限错误,疑命令版本过时
问题根源与解决方案
首先明确:这个错误不是因为命令版本过旧,核心原因是权限问题!
你运行命令时默认输出路径是当前命令提示符的工作目录(看起来你是在VS14的安装目录下执行的),而C:\Program Files (x86)\Microsoft Visual Studio 14.0是受系统保护的目录,普通用户权限下没有写入权限,所以工具无法生成NetworkAdapter.cs文件到这里。
给你几个可行的解决办法:
指定有权限的输出路径:直接在命令里指定一个你有写入权限的文件夹,比如桌面:
mgmtclassgen Win32_NetworkAdapter -p C:\Users\你的用户名\Desktop\NetworkAdapter.cs把上面的
你的用户名换成你实际的Windows用户名即可。切换到项目目录执行命令:如果要把生成的文件直接放到你的VS项目里,先通过
cd命令切换到项目文件夹,再执行生成命令:cd C:\Path\To\Your\VisualStudio\Project mgmtclassgen Win32_NetworkAdapter -p NetworkAdapter.cs以管理员身份运行命令提示符(不推荐):右键点击命令提示符,选择「以管理员身份运行」,再执行原命令,就能获得写入系统目录的权限。但不建议这么做,因为系统目录随意添加文件可能导致后续VS升级或维护出现问题。
另外补充:mgmtclassgen是用于生成WMI类包装器的工具,只要你的Windows系统支持WMI(Windows XP及之后的版本都支持),这个工具就可以正常工作,版本并不是导致你报错的原因。
内容的提问来源于stack exchange,提问作者lorenzw
相关产品推荐
相关产品推荐

