Bạn có thể thử this (mã dưới đây xuất phát từ trang web này, tất cả các trang web ..)
Nhưng nếu nó không hoạt động và nó sẽ mất quá nhiều thời gian để gỡ lỗi, tôi sẽ đề nghị đi cho nỗi đau khi thêm chúng theo cách thủ công một lần. Chỉ cần đặt một số âm nhạc tốt và đi cho nó ... :)
@oefe Tôi không nghĩ VS.NET cho phép bạn D & D dự án thành giải pháp, tôi đã thử một lần.
Imports EnvDTE
Imports EnvDTE80
-----------------------------------------------------------------------------------
Private Shared Sub DoStuff()
Dim filePath As String = "c:\temp"
Dim fileName As String = "bld_TestApp.sln"
Dim fullName As String = Path.Combine(filePath, fileName)
Dim objType As Type
Dim objDTE As EnvDTE.DTE
objType = Type.GetTypeFromProgID("VisualStudio.DTE.8.0")
objDTE = DirectCast(System.Activator.CreateInstance(objType), EnvDTE.DTE)
Console.WriteLine(objDTE.Name + ":" + objDTE.Version)
objDTE.Solution.Create(filePath, fileName)
objDTE.Solution.AddFromFile("C:\Common.vbproj")
objDTE.Solution.SaveAs(fullName)
End Sub
Một điều cần ghi nhớ là một số dự án của bạn có thể tham khảo các dll đã biên dịch thay vì các dự án đã tạo các dll đó. Khi đó là trường hợp, VisualStudio được xây dựng trong refactorings sẽ không vượt qua đó boundry. Vì vậy, nếu một chữ ký phương thức tiện ích được thay đổi, một ứng dụng tham chiếu đến dll tiện ích thay vì dự án sẽ không được tự động thay đổi để phù hợp. – Pedro