2017-06-02 4 views
0

Ich habe dieses Problem, wobei ProcessStartInfo keine Definition Verb enthält, so dass ich 'runas' nicht tun kann. Auf VisualStudio 2015 hat ein Projekt 'foo', das ProcessStartInfo verwendet, diese Definition 'verb' - bestätigt durch die Prüfung der Klasse. Andere Projekte, die auf VisualStudio 2017 ausgeführt werden, scheinen diese Methode NICHT zu erkennen. Außerdem fehlt die Methode in der Klasse selbst. Jetzt bin ich mir nicht sicher warum und wie das möglich ist?ProcessStartInfo enthält keine Definition für 'Verb'

Vollfehlercode:

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 

Der einzige Unterschied zwischen Process Klasse ist, dass die Version 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 

hat Definition 'Verb' und die Version 4.1.0.0 nicht defitnion hat Verb.

Ich kann auch sehen, dass eine Projekt Assembly von nugget verwaltet wird, die andere nicht. Ich habe nugget System.Diagnostics Paket installiert/aktualisiert, aber ohne Erfolg. Irgendeine Hilfe ?

+0

Betrachten Sie einfach die Assembly-Namen: 'System.Diagnostics.Process.dll' vs' System.dll'. – dymanoid

+0

Können Sie den Code bitte zeigen? Die Eigenschaft ist immer noch [da] (https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verb (v = vs.110) .aspx) –

+0

Da ist etwas sehr falsch hier - 'Verb 'ist eine Eigenschaft. Erweiterungseigenschaften sind (noch) keine Sache. Und dennoch zeigt der Fehler an, dass nach Erweiterungsmethoden gesucht wird. Ohne in der Lage zu sein, den Code zu sehen, ist es schwierig zu helfen. –

Antwort

1

Der einzige Unterschied zwischen ProcessStartInfo Klasse ist, dass die Version 4.0.0.0. Hat Definition 'Verb' und Version 4.1.0.0 hat kein Verb defitnion.

So wie Hans kommentiert, müssen Sie „Achten Sie auf die Projektvorlage Sie ausgewählt“ an. Ich wiederhole die Antwort hier genauer, damit andere Community-Mitglieder, die die gleichen Probleme haben, die Antwort leichter finden können.

Nach der Antwort auf the question on GitHub, der ProcessStartInfo.Verb nicht auf .NET-Core/.NET Standard- unterstützt:

Ich habe es als Fehler markiert, da diese API nicht sein sollte Es wird in unseren Dokumenten angezeigt, da es auf .NET Core nicht unterstützt wird. Es muss aus dem Artikel gelöscht werden. @chenkennt, @bradygaster Ein weiterer Fall von APIs, die nicht wirklich Teil von .NET Core sind, wird in der Dokumentation angezeigt.

Außerdem kommen sowohl Verb als auch Verben als Teil von .NE Standard 2.0 zurück.

Verwandte Themen