0

J'écris une extension Visual Studio et je crée un fichier Read Me que je veux ajouter au projet C#. Je suis en ce visual studio commandesAjout d'un fichier existant à un projet à l'aide des lignes de commande Visual Studio

var dte = (DTE2)ServiceProvider.GetService(typeof(DTE)); 
var tsFile = @"C:\Users\devVictorC\Documents\Visual Studio 2017\Projects\ClassLibrary1\ClassLibrary1\Readme.txt"; 
dte.ExecuteCommand("File.AddExistingItem", tsFile); 

mais je reçois cette exception

System.Runtime.InteropServices.COMException: 'Error HRESULT E_FAIL has been returned from a call to a COM component.' 

Répondre

1

Si vous avez besoin d'ajouter le fichier à .csproj vous pouvez essayer ce code:

var dte = (DTE2)ServiceProvider.GlobalProvider.GetService(typeof(DTE)); 
var tsFile = filePath; 
dte.ItemOperations.AddExistingItem(tsFile); 

Voir aussi MSDN documentation: ItemOperations.AddExistingItem Method

+0

Merci. Maintenant, ne compile même pas car GlobalProvider manque des références ou n'existe pas. aucun conseil? –

+0

@VictorAChavez est-ce que je comprends correctement que vous utilisez Visual Studio 2017? Si c'est le cas, la référence à la bibliothèque Microsoft.VisualStudio.Shell.15.0 est-elle ajoutée au projet? –