2010-02-08 33 views
7

Tôi muốn sử dụng tệp mã C# trong dự án VB.Net Ứng dụng dựa trên cửa sổ nào. Nhưng lớp C# đó không sử dụng trong ứng dụng VB.NET. Làm thế nào tôi có thể thực hiện nhiệm vụ này.Cách sử dụng lớp C# trong dự án VB.NET trong ứng dụng windows?

Cảm ơn

+0

Tôi hoàn toàn không hiểu câu hỏi của bạn. Bạn có muốn bao gồm tệp C# làm tài nguyên (ví dụ như bạn sẽ làm với một tệp hình ảnh hoặc tệp XML) không? –

+0

Tôi có một tệp C# là Lớp Truy cập Dữ liệu và tôi muốn sử dụng nó trong ứng dụng cửa sổ vb.net của mình. Tôi biết cách sử dụng các lớp ngôn ngữ khác nhau trong asp.net. Nhưng tôi không thể sử dụng trong cửa sổ applicaton. – Deepak

Trả lời

5

Bạn cũng có thể thêm tham chiếu cho tệp thực thi, nếu đó là một hội đồng .NET. Vì vậy, chỉ cần biên dịch dự án C# của bạn và thêm nó như là tham chiếu vào dự án VB của bạn.

+0

Cảm ơn, tôi biết điều này. Nhưng Như chúng ta sử dụng lớp cá nhân vb.net trong dự án C# của ASP.NET. Sau đó, chúng ta đặt nó vào thư mục con của APP_Code và chỉ định nó trong thẻ compilation-> codeSubDirectories của web.config. Tương tự, tôi muốn sử dụng một lớp C# cho ứng dụng vb.net windows. – Deepak

+1

Vậy thì tôi không nghĩ rằng bạn có thể làm điều đó, ngoại trừ các dự án web. Tôi nghĩ rằng bạn phải tham khảo một số loại lắp ráp. Làm thế nào về việc thêm một dự án C# mới vào giải pháp của bạn và chỉ cần thêm tệp .cs hiện có của bạn, biên dịch nó thành Dll và thêm tham chiếu. –

11

Biên dịch lớp C# trong riêng thư viện C# lớp nó (DLL) và sau đó trong dự án VB của bạn, thêm một tham chiếu đến C# DLL. Sau đó bạn có thể sử dụng lớp trong dự án VB của bạn.

Nếu, tuy nhiên, bạn muốn bao gồm mã nguồn của lớp C# trong dự án VB của bạn thì bạn sẽ phải chuyển đổi lớp từ C# thành VB. Có nhiều cách khác nhau để thực hiện việc này, chẳng hạn như công cụ trực tuyến Convert C# to VB.NET

+0

Tôi không muốn làm thư viện vì đó là một lớp duy nhất. – Deepak

+0

@Deepak - Tôi đã thêm đoạn thứ hai để trả lời bình luận của bạn –

+0

Cảm ơn, tôi đã chuyển đổi mã đó và nó cũng đang chạy nhưng cũng như chúng ta có thể làm trong ASP.NET vì vậy tôi muốn sử dụng tham chiếu ứng dụng web này. – Deepak

1

Có thể, kiểm tra này: http://bytes.com/topic/net/answers/49259-mixing-vb-net-c-same-project

Tuy nhiên, nó có thể sử dụng ngôn ngữ khác nhau trong một dự án duy nhất . Bạn có thể cần phải viết lệnh tệp xây dựng dòng để xây dựng dự án. Trong .NET framework SDK, có một mẫu trên đó. Bạn có thể truy cập nó trong C: \ Program Files \ Microsoft Visual Studio .NET \ FrameworkSDK \ Samples \ Technologies \ CrossDevLan gauge.

Mẫu này thể hiện việc sử dụng ngôn ngữ phát triển khác nhau trong dự án đơn lẻ . Mẫu này tạo ra hai cụm. Đầu tiên là một thư viện hoặc hội đồng DLL định nghĩa một lớp cơ sở đơn giản được viết trong các phần mở rộng được quản lý cho C++. Việc lắp ráp thứ hai là một hội đồng thực thi xác định ba lớp dẫn xuất được viết bằng C#, VB và IL (Ngôn ngữ trung gian). Các loại này lấy được từ nhau và cuối cùng là từ lớp cơ sở được viết bằng số C++ được quản lý. Cuối cùng, tệp thực thi tạo ra các trường hợp của mỗi loại có nguồn gốc và gọi một phương thức ảo cho mỗi loại. Khuôn khổ .NET là một môi trường nơi các nhà phát triển khác nhau có thể làm việc cùng nhau liền mạch trong khi phát triển bằng ngôn ngữ mà họ lựa chọn.

4

Rất đơn giản để kết hợp dự án VB.net & C# .net của bạn.

Step1 - Thêm dự án mà bạn muốn kết hợp với một giải pháp duy nhất.

Bước 2 - Trong bất kỳ một dự án VB/C# mà bạn muốn gọi các lớp học từ dự án ngôn ngữ khác "Goto- Thêm Reference- Dự án" và chọn dự án khác sẽ được tự động hiển thị.

Step3 - Sau khi thêm tham chiếu, chỉ cần thêm câu lệnh "Nhập (trong VB)" hoặc "sử dụng (trong C#)" vào mã của bạn.

Step4 - bingooo !!! bây giờ bạn có thể sử dụng các lớp VB/C# của bạn bằng ngôn ngữ khác.

(mũi: Bạn chỉ có thể đi theo một hướng ở đây tức là hoặc là bạn có thể sử dụng các lớp học C# của bạn trong VB.net hoặc ngược lại.)

All the best

Các vấn đề liên quan