J'ai besoin d'obtenir un fichier de la base de données sourcesafe par programme. Une idée de comment le faire? Ps: Je vais le faire en utilisant C#.Comment obtenir un fichier de sourcesafe par programmation?
3
A
Répondre
10
using System;
using System.Collections.Generic;
using SourceSafeTypeLib;
namespace YourNamespace
{
public class SourceSafeDatabase
{
private readonly string dbPath;
private readonly string password;
private readonly string rootProject;
private readonly string username;
private readonly VSSDatabaseClass vssDatabase;
public SourceSafeDatabase(string dbPath, string username, string password, string rootProject)
{
this.dbPath = dbPath;
this.username = username;
this.password = password;
this.rootProject = rootProject;
vssDatabase = new VSSDatabaseClass();
}
public List<string> GetAllLabels()
{
List<string> allLabels = new List<string>();
VSSItem item = vssDatabase.get_VSSItem(rootProject, false);
IVSSVersions versions = item.get_Versions(0);
foreach (IVSSVersion version in versions)
{
if (version.Label.Length > 0)
{
allLabels.Add(version.Label);
}
}
return allLabels;
}
public void GetLabelledVersion(string label, string project, string directory)
{
string outDir = directory;
vssDatabase.get_VSSItem(rootProject, false).get_Version(label).Get(ref outDir, (int)VSSFlags.VSSFLAG_RECURSYES + (int)VSSFlags.VSSFLAG_USERRONO);
}
public void Open()
{
vssDatabase.Open(dbPath, username, password);
}
public void Close()
{
vssDatabase.Close();
}
}
// some other code that uses it
SourceSafeDatabase sourceControlDatabase = new sourceControlDatabase(...);
sourceControlDatabase.Open();
sourceControlDatabase.GetLabelledVersion(label, rootProject, projectDirectory);
sourceControlDatabase.Close();
2
Il existe un programme SS.EXE de ligne de commande que vous pouvez appeler pour effectuer des opérations de contrôle de source. Cependant, il repose sur la configuration globale de SourceSafe et il est donc parfois difficile de le faire faire ce que vous voulez.
2
Il y a un OLE library for VSS
Vous voudrez peut-être regarder this discussion.
Questions connexes
- 1. Sourcesafe obtenir par label à partir de Visual Studio
- 2. comment importer un fichier tlb par programmation en C++?
- 3. Comment SCP un fichier par programmation en utilisant C
- 4. Comment accéder à un modèle par programmation?
- 5. Comment intégrer un fichier SWF dans un fichier PDF par programmation?
- 6. Comment appeler un événement par programmation?
- 7. Comment obtenir par programmation les composants imbriqués d'un tag Struts2?
- 8. Comment obtenir par programmation la version dans JBoss AS 5.1?
- 9. Comment générer des favicon vierges par programmation?
- 10. Obtenir la force du signal porteur de l'iPhone par programmation
- 11. Comment obtenir la dernière révision par fichier
- 12. Obtenir des balises pour les articles de blog par programmation
- 13. Vista Série par programmation
- 14. Comment créer un effet de bascule de page par programmation?
- 15. Obtenir l'icône de fichier utilisée par Shell
- 16. Comment obtenir par programmation les touches de raccourci réservées par Mac OS X
- 17. Comment déplacer un élément par programmation dans un fichier Advanced 3 AdvancedDataGrid?
- 18. Comment obtenir un fichier seulement?
- 19. Comment ouvrir un panneau de contrôle par programmation?
- 20. Comment appelez-vous par programmation un libellé de liste d'édition?
- 21. Rapports SourceSafe - comment obtenir des rapports personnalisés dans un format utilisable?
- 22. Comment obtenir seulement un nom de fichier?
- 23. Comment puis-je accéder à un serveur IPTV par programmation?
- 24. Visual SourceSafe Rapprochement
- 25. Comment une extension Firefox peut-elle obtenir son propre numéro de version par programmation?
- 26. SharePoint: Obtenir les catégories du répertoire du site par programmation
- 27. Créer un fichier de base de données SQL Server CE par programmation
- 28. Comment obtenir la mémoire totale allouée par une application (ASP) .NET par programmation?
- 29. Comment créer un fichier sparse par programmation, en C, sur Mac OS X?
- 30. Défilement de QGraphicsView par programmation
Ce commentaire est une sorte de obligatoire, mais se éloigner de SourceSafe aussi vite que vous pouvez, si possible. – MusiGenesis
Dans quelques semaines, oui je le ferai! :) –