0

我正在編寫一個Visual Studio擴展,並且正在創建一個讀取我要添加到c#項目中的文件。我跑這個視覺工作室命令使用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); 

,但我得到這個例外

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

回答

1

如果您需要將文件添加到.csproj你可以試試這個代碼:

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

另請參見MSDN文檔:ItemOperations.AddExistingItem Method

+0

謝謝。現在,甚至沒有編譯,因爲GlobalProvider缺少一些引用或不存在。有什麼建議? –

+0

@VictorAChavez我理解你正在使用Visual Studio 2017嗎?如果是這樣,是否將該庫引用添加到項目中的Microsoft.VisualStudio.Shell.15.0? –

相關問題