我确实有这个问题,ProcessStartInfo
不包含定义动词,因此我无法做到runas
'。在VisualStudio 2015上,一个项目“foo'使用ProcessStartInfo
确实有这个定义' verb
' - 通过检查课程确认。在VisualStudio 2017上运行的其他项目似乎无法识别此方法。而且,该方法本身缺少该方法。现在我不确定为什么以及如何做到这一点?
完整错误代码:
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
ProcessStartInfo类之间的唯一区别是版本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
是否有定义'动词'版本4.1.0.0没有defitnion动词。
#region Assembly System.Diagnostics.Process, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// C:\Users\Boss\.nuget\packages\system.diagnostics.process\4.3.0\ref\netstandard1.4\System.Diagnostics.Process.dll
#endregion
我还可以看到一个项目程序集由nuget管理,另一个不是。我已经安装/更新了nuget System.Diagnostics包,但无济于事。有帮助吗?
答案 0 :(得分:1)
ProcessStartInfo类之间的唯一区别是版本4.0.0.0。是否有定义'verb',版本4.1.0.0没有defitnion动词。
就像Hans评论的那样,你需要“关注你选择的项目模板”。我在这里重复答案的更多细节,以便其他社区成员能够更容易地找到答案。
根据对the question on GitHub的回复,.NET Core / .NET Standard不支持 ProcessStartInfo.Verb :
我已将其标记为错误,因为此API不应出现在我们的文档中,因为它在.NET Core上不受支持。需要从文章中删除它。 @chenkennt,@ bradygaster另一个API的案例,它并不是.NET Core的一部分,而是出现在docs上。
此外,Verb和Verbs都将作为.NE标准2.0的一部分回归。