2008-09-18 33 views
7

Đã tìm kiếm một số phương pháp để tăng dần chuyển đổi dự án ASP.NET VB.NET hiện có sang C# trong khi vẫn có thể triển khai nó dưới dạng ứng dụng web đơn (hiện được triển khai hàng tuần).Chuyển đổi dự án ASP.NET VB.NET lớn sang C# - tăng dần?

Suy nghĩ của tôi là tạo một dự án C# ASP.NET mới và từ từ di chuyển các trang, nhưng tôi chưa bao giờ cố gắng làm điều này và bằng cách nào đó kết hợp nó với một dự án ASP.NET khác trong khi triển khai.

(Làm rõ: Các dự án VB.NET ASP.NET tuyệt đối là chó tuyệt đối trong IDE VS ...)

Bất kỳ suy nghĩ nào?

+0

bạn chưa gắn thẻ câu hỏi của mình. – chrissie1

+0

thực sự? Tôi thấy 4 thẻ ở bên phải mà tôi gắn thẻ nó khi tôi tạo câu hỏi ... C#, asp.net, vb.net, chuyển đổi – Joey

+0

chrissie1: Các thẻ ở bên trái ngay bây giờ (không biết tại sao thay đổi) –

Trả lời

3

Giống như cổng tôi dùng? Tôi không thực sự nhìn thấy điểm và những gì bạn sẽ đạt được cho tất cả các nỗ lực. Có thể viết bất kỳ tính năng mới hoặc các lớp logic/dịch vụ chậm chạp/hỏng hiện có vào C# nhưng đối với các trang web tôi không thấy lợi ích 80/20.

+0

Phải, chúng tôi đang tái cấu trúc và di chuyển mã xuống để diễn giả, dịch vụ, vv Nhưng nếu bạn đã từng làm việc trong IDE VS với một dự án ASP.NET VB.NET lớn trước đây, bạn biết bao nhiêu VB.NET giết chết IDE. Vì vậy, chúng tôi đang tìm kiếm một giải pháp ngắn hạn để vượt qua trở ngại VB.NET. – Joey

+0

Xin chào, không, tôi chưa bao giờ làm việc với giải pháp vb.net, nhưng tôi không thể xem cách viết lại C# là giải pháp ngắn hạn nếu trang web lớn. – redsquare

+0

Cảm ơn bạn đã phản hồi. Tôi thực sự không nói về việc viết lại. Tôi có thể sử dụng SharpDevelop cho một trang chuyển đổi thực tế tại một thời điểm. Tôi đã tự hỏi nhiều hơn về phần gia tăng vì nó liên quan đến việc sáp nhập 2 dự án web asp.net được triển khai như một. Cảm ơn! – Joey

0

Có thể thực hiện. Vâng, tôi hy vọng nó có thể được thực hiện như tôi đang làm điều này từng chút một trên một ứng dụng ASP.net di sản. Bạn chỉ có thể thay đổi trên 1 biểu mẫu Web tại một thời điểm. Nơi bạn có thể đấu tranh là tôi dường như không thể có các ngôn ngữ hỗn hợp trong thư mục mã ứng dụng khi chúng được biên dịch cùng nhau.

1

Giữ nội dung cũ trong VB. Tất cả các công cụ mới trong C#. Transistion có thể chậm nhưng bạn sẽ không mất thời gian. Vào thời gian rảnh, thay đổi nội dung trong C#.

5

Bắt đầu với logic nghiệp vụ và làm việc theo cách của bạn ra các trang. Đóng gói mọi thứ bạn có thể vào các thư viện C# mà bạn có thể thêm làm tham chiếu đến trang VB.NET.

Khi bạn đã chuyển tất cả chương trình phụ trợ và thử nghiệm, bạn có thể bắt đầu thực hiện các trang riêng lẻ, mặc dù tôi khuyên bạn không nên triển khai cho đến khi bạn hoàn tất tất cả chuyển đổi.

+0

Cảm ơn. Đó là khá nhiều cách tiếp cận chúng tôi đã được tham gia cho đến bây giờ. Nhưng kể từ khi chúng tôi phát hành hàng tuần để sản xuất, tôi không chắc chắn "chờ đợi cho đến khi tất cả chúng được thực hiện trước khi triển khai" một phần sẽ làm việc cho chúng ta quá tốt. – Joey

1

Tôi đã làm điều này với một dự án bằng cách làm như sau:

  1. Tạo một C# lớp thư viện
  2. Reference C# lớp thư viện từ các ứng dụng web VB
  3. Tạo mã đằng sau lớp trong C# thư viện
  4. Cập nhật thuộc tính "Inherits" trong tệp aspx/ascx để tham chiếu lớp C# (tệp này vẫn tồn tại trong dự án VB gốc)

Nó hoạt động hơi ổn; Đôi khi nó hơi đau khi bạn phải duyệt qua nhiều dự án để xem một trang/điều khiển, nhưng nó đã cho phép tôi làm những gì bạn muốn làm.

1

Bạn chỉ cần tạo một dự án thư viện lớp C# mới trong giải pháp. recode một vài lớp tại một thời điểm ở đây và sau đó thay thế các lớp vb trong dự án chính.

nhưng thành thật mà nói tôi đồng ý rằng tôi không thấy lợi ích trừ khi bạn cố gắng học C# hoặc thực sự không thích vb hoặc chỉ chán.

4

Bạn được phép giữ Danh mục App_Code bằng cả mã VB và mã C# trong đó. Vì vậy, hiệu quả, bạn có thể làm điều đó rất chậm khi bạn có thời gian rảnh rỗi để chuyển đổi nó.

Tôi hiện có cả mã VB.Net và C# trong thư mục App_Code và vào thời gian rảnh, tôi chuyển sang mã VB.Net hoặc bất cứ lúc nào tôi phải quay lại trang với VB.Net và lộn xộn với nó, tôi chuyển nó sang C#.

Dễ dàng Peasy và Microsoft làm cho nó thậm chí còn đẹp hơn khi chúng cho phép bạn có cả VB.NET và C# trên cùng một ứng dụng. Đó là một trong những ý tưởng hay nhất mà họ có thể đã thực hiện trong toàn bộ quy trình tạo ứng dụng.

Nếu bạn muốn thêm cả hai thư mục mã trong một thư mục của bạn thêm video này vào Web.config

<compilation> 
<codeSubDirectories> 
    <add directoryName="VB_Code"/> 
    <add directoryName="CS_Code"/> 
</codeSubDirectories> 
</compilation> 

Và sau đó thêm một thư mục có tên VB_Code và một thư mục có tên CS_Code trong thư mục App_Code của bạn. Sau đó, ném tất cả các bạn vb/C# mã trong thư mục của bạn và tốt của bạn.

0

Nếu bạn có $ 179 bạn đã hoàn tất.

Tất nhiên có bộ chuyển đổi phần mềm miễn phí có sẵn là tốt.

+0

Cảm ơn, nhưng chính sự chuyển đổi thực sự không thực sự là vấn đề. Đoán tiêu đề câu hỏi của tôi không phải là tất cả những gì rõ ràng. Đó là phần "gia tăng" của chuyển đổi liên quan đến việc hợp nhất/triển khai dự án web thực sự là điều mà tôi đã tự hỏi. – Joey

1

Tôi đã thành công kéo trong dlls của dự án vb với Reflector (nó hoàn toàn miễn phí) và xem mã như C#. Các biến cục bộ không phải lúc nào cũng dịch nhưng bạn có thể so sánh bản dịch và các công cụ tái cấu trúc khi bạn thực hiện.

1

thử #Develop. Tôi nghĩ rằng đây là cách tốt nhất để chuyển đổi bất kỳ. Net hỗ trợ cho bất kỳ ngôn ngữ .net suppported.

Các công cụ khác chỉ chuyển đổi mã nhưng điều này chuyển đổi toàn bộ dự án.

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