Tôi đang viết một gói tùy chỉnh cho Visual Studio 2010 (vsix).Dự án được chọn từ Solution Explorer
Điều tôi cần làm là thêm nút menu ngữ cảnh vào nút Dự án trong Solution Explorer.
Tôi đã quản lý để trình đơn ngữ cảnh xuất hiện khi nhấp chuột phải vào nút Project, nhưng thử thách tiếp theo của tôi là lấy tham chiếu đến đối tượng Project đã được nhấp. Hiện tại tôi có thể lấy dự án bằng cách xem qua tài liệu đang hoạt động trong IDE bằng cách sử dụng mã bên dưới.
DTE dte = (DTE)ServiceProvider.GlobalProvider.GetService(typeof(DTE));
Project project = dte.ActiveDocument.ProjectItem.ContainingProject;
Vì vậy, câu hỏi của tôi là: làm cách nào để có tham chiếu tương tự với dự án được chọn trong trình khám phá giải pháp?
Tôi rất hạnh phúc Tôi thấy điều này, không thể tìm ra bất cứ nơi nào khác làm thế nào để làm điều này. : D – bio595
Tôi nghĩ rằng bạn đang thiếu 'Marshal.Release (hierarchyPtr); Marshal.Release (selectionContainerPointer); 'ở cuối để tránh rò rỉ bộ nhớ. Nếu không thì tuyệt! – MickyD
Điều này có thể hiển nhiên nhưng với tư cách là người dùng mới sử dụng IntPtr, bạn nên kiểm tra selectionContainerPointer == IntPtr.Zero trước khi gọi Marshal.Release trên nó để tránh một ngoại lệ con trỏ null. – webjprgm