2010-09-24 22 views

Répondre

2

Vous pouvez utiliser XDocument à partir du framework .NET pour cela. Je l'ai fait pour VS2010, mais dans VS2008 les étiquettes sont presque les mêmes.

Exemple VS2010, vous devez vérifier les balises et espace de noms:

XElement projectNode = XElement.Load(fileName); 
XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003"; 
var referenceNodes = projectNode.Descendants(ns + "ItemGroup").Descendants(ns + "Reference") 

Vous devriez aussi vérifier voulez pour la balise ProjectReference. J'espère que cela pourra aider.

+0

grand, une autre référence: http : //stackoverflow.com/questions/1191151/reading-the-list-of-references-from-csproj-files; et comment puis-je connaître les projets de fichiers csproj d'une solution sln? toute API, SDK, code de script? un exemple de code? – Kiquenet

+1

le fichier de solution n'est pas xml, donc vous ne pouvez pas l'analyser avec la méthode décrite. vous pouvez facilement analyser le fichier sln pour les projets lorsque vous utilisez Regex, vous n'avez pas besoin d'une API pour cela. Ceci est une question différente cependant (que vous pouvez demander ici), s'il vous plaît accepter ma réponse à votre question initiale si elle vous a aidé. – testalino

1

Je ne sais pas si elle répond à vos besoins, mais une fois que la solution est chargée dans Visual Studio, vous pouvez facilement l'examiner en utilisant l'API CodeModel, en utilisant un simple Addin ou même macro:

Imports EnvDTE 
Imports VSLangProj 

Public Module Module1 
    Public Sub ShowAllReferences() 
     Dim sol As Solution = DTE.Solution 
     For i As Integer = 1 To sol.Projects.Count 
      Dim proj As Project = sol.Projects.Item(i) 
      Dim vsProj As VSProject = DirectCast(proj.Object, VSProject) 

      For Each reference As Reference In vsProj.References 
       MsgBox(reference.Description) 
      Next 
     Next 
    End Sub 

End Module 
+0

Puis-je partager des macros personnalisées de VS2008 dans Team Foundation Server? Mon entreprise compte de nombreux développeurs travaillant avec TFS. – Kiquenet