ProcessStartInfo 不包含 'Verb' 的定义

ProcessStartInfo does not contain a definition for 'Verb'

我确实有这个问题 ProcessStartInfo 不包含定义动词,所以我不能做 'runas'。在 VisualStudio 2015 上,使用 ProcessStartInfo 的项目 'foo' 确实具有此定义“verb” - 通过检查 class 确认。 VisualStudio 2017 上的其他项目 运行 似乎无法识别此方法。此外,class 本身缺少该方法。现在我不确定为什么以及如何做到这一点?

完整错误代码:

Severity    Code    Description Project File    Line    Suppression State
Error   CS1061  'ProcessStartInfo' does not contain a definition for 'Verb' 
and no extension method 'Verb' accepting a first argument of type 
'ProcessStartInfo' could be found (are you missing a using directive or an 
assembly reference?)    project3cx  C:\Users\Boss\Documents\Visual Studio 
2017\Projects\project\project3cx\Program.cs 64  Active

ProcessStartInfoclass的唯一区别是版本4.0.0.0

#region Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll
#endregion

有定义 'verb' 并且版本 4.1.0.0 没有定义动词。

#region Assembly System.Diagnostics.Process, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// C:\Users\Boss\.nuget\packages\system.diagnostics.process.3.0\ref\netstandard1.4\System.Diagnostics.Process.dll
#endregion

我还看到一个项目集是由nuget管理的,另一个不是。我有 installed/updated nuget System.Diagnostics 包但无济于事。有什么帮助吗?

The only difference between ProcessStartInfo class is that the version 4.0.0.0. Does have definition 'verb' and version 4.1.0.0 does not have defitnion verb.

正如 Hans 所说,您需要“注意您选择的项目模板”。我在这里更详细地重复答案,以便其他遇到相同问题的社区成员可以更容易地找到答案。

根据对 the question on GitHub 的回复,.NET Core/.NET Standard:

不支持 ProcessStartInfo.Verb

I've tagged it as a bug since this API shouldn't be showing up in our docs since it's not supported on .NET Core. It needs to be deleted from the article. @chenkennt, @bradygaster another case of APIs that are not really part of .NET Core showing up on docs.

此外,Verb 和 Verbs 都将作为 .NE Standard 2.0 的一部分回归。