Tôi đang làm việc trên một giải pháp trong Visual Studio 2010 Ultimate có chứa hai dự án C#: dự án Biểu mẫu và dự án bảng điều khiển. Theo lập trình, chúng hoàn toàn tách biệt; phần chính của cả hai dự án có thể chạy mà không có dự án khác. Những gì tôi muốn làm là gọi ứng dụng giao diện điều khiển bằng cách nhấn một nút trong ứng dụng Biểu mẫu, với các tùy chọn nhất định được đặt dựa trên ứng dụng Biểu mẫu. Vì vậy, bạn có thể nghĩ về ứng dụng Biểu mẫu về bản chất chỉ là ứng dụng 'trình khởi chạy'. Cách thực hiện điều này ngay bây giờ là sử dụng System.Diagnostics.Process.Start
với tham số "cmd"
làm tham số đầu tiên và đường dẫn đến thực thi của ứng dụng bảng điều khiển (cộng với đối số CLI) làm tham số thứ hai. Nhưng đây là một giải pháp khủng khiếp, bởi vì nó sẽ phá vỡ khi triển khai đến các máy khác với một trình cài đặt.Gọi một dự án Visual Studio thứ hai được lập trình
Tôi cũng đã thử tạo tham chiếu đến dự án bảng điều khiển trong đối tượng Biểu mẫu, tạo Program
trong dự án giao diện điều khiển công khai và tĩnh và gọi phương thức Main
của bảng điều khiển dự án, nhưng không có xử lý đầu ra hợp lệ một ngoại lệ được ném ra.
Tôi đã thực hiện nhiều Googling, một số tìm kiếm ở đây trên SO và thậm chí đã kiểm tra 'Câu hỏi tương tự' trên trang gửi và không ai biết cách làm những gì tôi muốn làm. Bất kỳ con trỏ nào có thể đưa tôi đi đúng hướng?
FYI: Tôi biết rằng có thể có mười triệu cách tốt hơn để thực hiện việc này, nhưng tôi có một vài lý do để muốn và cần thực hiện theo cách này. Tôi biết tôi chỉ có thể tạo GUI riêng cho chương trình CLI và sao chép mã có liên quan lên, hoặc kết hợp mọi thứ vào một dự án và tạo một cửa sổ đầu ra riêng biệt hoặc các giải pháp khác như thế. Nhưng tôi cần giải pháp này vì hai lý do: (1) Tôi có một chương trình CLI khá phức tạp hoạt động tốt như một chương trình CLI, và bây giờ cần một cách thân thiện với người dùng để bắt đầu nó, và (2) giải quyết vấn đề theo những cách khác. 't trả lời câu hỏi của "Tại sao bận tâm có một số dự án thực thi trong cùng một giải pháp ở nơi đầu tiên nếu bạn không thể gọi một từ khác?"
Ack! Tại sao Microsoft không thể làm mọi thứ dễ dàng hơn ?! Cảm ơn rất nhiều vì câu trả lời và lời khuyên. – Mrrvomun