Tôi đã liệt kê tất cả các dự án trong giải pháp của mình, sử dụng EnvDTE, nhưng tôi đã tìm thấy một lỗi trong mã của mình: Tôi không thể tải các dự án được tải xuống.Tải lại các dự án đã tải xuống trong EnvDTE
Tôi tìm thấy một cách để bỏ qua các dự án bốc dỡ:
if (string.Compare(EnvDTE.Constants.vsProjectKindUnmodeled, project.Kind, System.StringComparison.OrdinalIgnoreCase) == 0)
continue;
Bằng cách này, mã của tôi không sụp đổ - nhưng tôi không thể tải các dự án mất tích thông qua mã, vì chúng tồn tại.
Làm cách nào để tải các dự án đã tải lên vào giải pháp?
Tôi đã thử:
project.DTE.ExecuteCommand("Project.ReloadProject");
Và đã nhận lỗi:
System.Runtime.InteropServices.COMException (...): Command "Project.ReloadProject" là không có sẵn.
Vì vậy, tôi đã cố gắng để bằng cách nào đó có được
application.DTE.ExecuteCommand("Project.ReloadProject");
Nhưng trước đó, từ mọi nơi tôi đã tìm kiếm trên NET, tôi phải trước khi chọn dự án trong giải pháp - và cho rằng, tôi cần project.Name
(mà Tôi có), và con đường, mà tôi không (mỗi ví dụ tôi đã tìm thấy giả định rằng đường dẫn giải pháp là giống như đường dẫn dự án, đó là rất khó xảy ra trong một tình huống chung chung).
loại (full namespace) Có gì là 'application'? – Kiquenet
http://msdn.microsoft.com/en-us/library/envdte._dte.application.aspx – Thalia