Ejemplo (pegarlo en http://www.objgen.com/json)
version n = 3.1
releaseDate d = 2014-06-25
demo b = true
// Tabs or spaces define complex values
person
id number = 12345
name = John Doe
phones
home = 800-123-4567
mobile = 877-123-1234
// Use [] to define simple type arrays
email[] s = jd@example.com, jd@example.org
dateOfBirth d = 1980-01-02
registered b = true
// Use [n] to define object arrays
emergencyContacts[0]
name s = Jane Doe
phone s = 888-555-1212
relationship = spouse
emergencyContacts[1]
name s = Justin Doe
phone s = 877-123-1212
relationship = parent
Tfs API - Obtener items [*** 100% funcionando ***]
(fuente para el tema de autenticacion: https://stackoverflow.com/questions/3150260/how-do-you-connect-to-a-tfs-server-in-c-sharp-using-specific-credentials/3150730#3150730)
Instalar con NuGet:
* Microsoft.TeamFoundationServer.ExtendedClient (version 15) ==> agregar todo
* Microsoft.VisualStudio.Services.Client (version 15) ==> se necesita Microsoft.TeamFoundation.Common.dll
* Microsoft.TeamFoundationServer.Client.(version 15) ==> se necesita Microsoft.VisualStudio.Services.WebApi.dll
Ejemplo de uso:
static void Main(string[] args)
{
var urlTfs = "http://Xvir29:8080/tfs";
var workspaceTfs = "X00894";
var pathLocal = @"c:\crusso\X\fuentes";
var teamProject = "Desarrollo";
var usuario = "carusso";
var password = "elpassword";
GetSourceFromTFS(urlTfs, workspaceTfs, pathLocal, teamProject, "WebCreditos", usuario, password);
}
public void GetSourceFromTFS(string urlTfs, string workspaceTfs, string pathLocal, string teamProject, string proyecto, string usuario, string password)
{
var collectionUri = new Uri(urlTfs);
NetworkCredential credential = new NetworkCredential(usuario, password);
NetworkCredential netCred = new NetworkCredential(usuario, password);
var winCred = new Microsoft.VisualStudio.Services.Common.WindowsCredential(netCred);
VssCredentials vssCred = new VssClientCredentials(winCred);
vssCred.PromptType = CredentialPromptType.DoNotPrompt;
Uri tfsUri = new Uri(urlTfs);
var tfs = new TfsTeamProjectCollection(tfsUri, vssCred);
tfs.EnsureAuthenticated();
var vsStore = tfs.GetService<VersionControlServer>();
var path = pathLocal + "\\" + teamProject + "\\" + proyecto;
var items = vsStore.GetItems("$\\" + teamProject + "\\" + proyecto, VersionSpec.Latest, RecursionType.Full);
var workspace = vsStore.GetWorkspace(workspaceTfs, usuario);
workspace.Get(new string[] { path }, VersionSpec.Latest, RecursionType.Full, GetOptions.GetAll);
}
Instalar con NuGet:
* Microsoft.TeamFoundationServer.ExtendedClient (version 15) ==> agregar todo
* Microsoft.VisualStudio.Services.Client (version 15) ==> se necesita Microsoft.TeamFoundation.Common.dll
* Microsoft.TeamFoundationServer.Client.(version 15) ==> se necesita Microsoft.VisualStudio.Services.WebApi.dll
Ejemplo de uso:
static void Main(string[] args)
{
var urlTfs = "http://Xvir29:8080/tfs";
var workspaceTfs = "X00894";
var pathLocal = @"c:\crusso\X\fuentes";
var teamProject = "Desarrollo";
var usuario = "carusso";
var password = "elpassword";
GetSourceFromTFS(urlTfs, workspaceTfs, pathLocal, teamProject, "WebCreditos", usuario, password);
}
public void GetSourceFromTFS(string urlTfs, string workspaceTfs, string pathLocal, string teamProject, string proyecto, string usuario, string password)
{
var collectionUri = new Uri(urlTfs);
NetworkCredential credential = new NetworkCredential(usuario, password);
NetworkCredential netCred = new NetworkCredential(usuario, password);
var winCred = new Microsoft.VisualStudio.Services.Common.WindowsCredential(netCred);
VssCredentials vssCred = new VssClientCredentials(winCred);
vssCred.PromptType = CredentialPromptType.DoNotPrompt;
Uri tfsUri = new Uri(urlTfs);
var tfs = new TfsTeamProjectCollection(tfsUri, vssCred);
tfs.EnsureAuthenticated();
var vsStore = tfs.GetService<VersionControlServer>();
var path = pathLocal + "\\" + teamProject + "\\" + proyecto;
var items = vsStore.GetItems("$\\" + teamProject + "\\" + proyecto, VersionSpec.Latest, RecursionType.Full);
var workspace = vsStore.GetWorkspace(workspaceTfs, usuario);
workspace.Get(new string[] { path }, VersionSpec.Latest, RecursionType.Full, GetOptions.GetAll);
}
Compilar desde una aplicacion Web utilizando API build tools
Referencias que se necesitan:
Microsoft.Build
Microsoft.Build.Engine
Microsoft.Build.Framework
Estas dll's se encuentran en C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\
si no aparecen, instalarlos asi:
vs_buildtools.exe --add Microsoft.VisualStudio.Workload.WebBuildTools
o bajarlo de aca: https://www.visualstudio.com/es/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
using System.Collections.Generic;
using Microsoft.Build.Evaluation;
using Microsoft.Build.Execution;
using System.IO;
using Microsoft.Build.Framework;
var exitcode = 0;
string projectFileName = @"C:\crusso\X\fuentes\Desarrollo\WebCreditos\WebCreditos.sln";
ProjectCollection pc = new ProjectCollection();
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", Directory.GetCurrentDirectory() + "\\deploy");
Microsoft.Build.BuildEngine.FileLogger fl = new Microsoft.Build.BuildEngine.FileLogger() { Parameters = @"logfile=c:\temp\log.txt" };
BuildParameters bp = new BuildParameters(pc);
bp.Loggers = new[] {
new Microsoft.Build.BuildEngine.FileLogger
{
Verbosity = LoggerVerbosity.Normal,
ShowSummary = true,
SkipProjectStartedText = true,
Parameters = @"logfile=c:\temp\log.txt"
}
};
BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest = new BuildRequestData(projectFileName, GlobalProperty, null, new string[] { "Build" }, null);
BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
{
exitcode = 1; //error
//throw new Exception();
}
else
exitcode = 0;
return exitcode
Microsoft.Build
Microsoft.Build.Engine
Microsoft.Build.Framework
Estas dll's se encuentran en C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\
si no aparecen, instalarlos asi:
vs_buildtools.exe --add Microsoft.VisualStudio.Workload.WebBuildTools
o bajarlo de aca: https://www.visualstudio.com/es/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
using System.Collections.Generic;
using Microsoft.Build.Evaluation;
using Microsoft.Build.Execution;
using System.IO;
using Microsoft.Build.Framework;
var exitcode = 0;
string projectFileName = @"C:\crusso\X\fuentes\Desarrollo\WebCreditos\WebCreditos.sln";
ProjectCollection pc = new ProjectCollection();
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", Directory.GetCurrentDirectory() + "\\deploy");
Microsoft.Build.BuildEngine.FileLogger fl = new Microsoft.Build.BuildEngine.FileLogger() { Parameters = @"logfile=c:\temp\log.txt" };
BuildParameters bp = new BuildParameters(pc);
bp.Loggers = new[] {
new Microsoft.Build.BuildEngine.FileLogger
{
Verbosity = LoggerVerbosity.Normal,
ShowSummary = true,
SkipProjectStartedText = true,
Parameters = @"logfile=c:\temp\log.txt"
}
};
BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest = new BuildRequestData(projectFileName, GlobalProperty, null, new string[] { "Build" }, null);
BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
{
exitcode = 1; //error
//throw new Exception();
}
else
exitcode = 0;
return exitcode
Suscribirse a:
Comentarios (Atom)