2016-06-12 42 views
0

Ich versuche, eine Aufgabe/Arbeitselement in Visual Studio Team Services (zuvor Visual Studio Online) zu erstellen. Mein Code schlägt fehl, da "tfsStore" den Wert null zurückgibt, wodurch die Ausnahme ausgelöst wird.Konnte einen TFS-Speicher nicht initialisieren

NetworkCredential myNetCredentials = new NetworkCredential("*****", "******"); 
ICredentials myCredentials = (ICredentials)myNetCredentials; 
Uri tfsUri = new Uri("https://*****.visualstudio.com/DefaultCollection/"); 
var tfsServer = new TfsTeamProjectCollection(tfsUri, myCredentials); 
tfsServer.EnsureAuthenticated(); 
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(tfsUri); 
WorkItemStore tfsStore = tfsServer.GetService<WorkItemStore>(); 
if (tfsStore == null) 
{ 
    throw new Exception("Cannot initialize TFS Store"); 
} 
Project teamProject = tfsStore.Projects["******"]; 

Ich würde mich über alle nützlichen Tipps freuen, wie Sie den Fehler beheben können. Danke!

Antwort

0

ich das Code-Snippet unten auf meiner Seite getestet haben, die erfolgreich eine Aufgabe Workitem erstellen können, können Sie einen Versuch:

NetworkCredential myNetCredentials = new NetworkCredential("******", "******"); 
TfsTeamProjectCollection tfsUri = new TfsTeamProjectCollection(new Uri("https://*****.visualstudio.com/DefaultCollection"), myNetCredentials); 
WorkItemStore tfsStore = tfsUri.GetService<WorkItemStore>(); 
     if (tfsStore == null) 
      { 
       throw new Exception("Cannot initialize TFS Store"); 
      } 

     Project teamProject = tfsStore.Projects["*****"]; 
     WorkItemType workItemType = teamProject.WorkItemTypes["Task"]; 
     WorkItem Task = new WorkItem(workItemType) 
      { 
       Title = "APITask", 
      }; 
      Task.Save(); 

Einschließlich .net api, können Sie auch REST API verwenden können, die ist einfach:

PATCH https://{instance}/DefaultCollection/{project}/_apis/wit/workitems/${workItemTypeName}?api-version={version} 
+0

Ich bekomme immer noch die Ausnahme "TFS-Speicher kann nicht initialisiert werden", da tfsStore null ist. Danke! – JayHawk

+0

Uh ... Dieser Code funktioniert gut auf meiner Seite. Hat sich dieser Code erfolgreich mit VSTS verbunden? –

+0

Ja. Ich kann erfolgreich eine Verbindung zu VSTS herstellen. Es ist jedoch nicht möglich, den WorkItemStore zu instanziieren. Ich denke, es spielt keine Rolle, da ich die REST-API verwenden konnte, um den Code zum Funktionieren zu bringen. Vielen Dank! – JayHawk