0
我錄製一個宏用我選擇一個項目,從溶液中取出,造成這種代碼的解決方案中刪除的項目項目在解決方案中,但如果它已被刪除,則會導致運行時錯誤。即使將GetItem
的結果賦值給Object
變量,在調用Select
之前檢查Nothing也會導致運行時錯誤。我怎樣才能證明這個宏?問題與Visual Studio宏從
我錄製一個宏用我選擇一個項目,從溶液中取出,造成這種代碼的解決方案中刪除的項目項目在解決方案中,但如果它已被刪除,則會導致運行時錯誤。即使將GetItem
的結果賦值給Object
變量,在調用Select
之前檢查Nothing也會導致運行時錯誤。我怎樣才能證明這個宏?問題與Visual Studio宏從
你可以把一個Try
塊:
Try
DTE.ActiveWindow.Object.GetItem("PerfixEMS\Allocations\BDAUploader\perFIXAllocationsFTP").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("Edit.Delete")
Catch
End Try
更新:我覺得你的宏也不是很安全。它使用活動窗口,該窗口可以是任何窗口。我建議如下:
Try
DTE.Solution.Remove(DTE.Solution.Projects.Item("test.vcproj"))
Catch
End Try
項目在此被引用爲其UniqueName
屬性。該名稱是相對於解決方案及其文件擴展名的項目路徑。您可以通過在宏調試器下運行宏來瀏覽屬性。項目也可以通過基於1的索引來引用(DTE.Solution.Projects.Item(1)
)。