CẬP NHẬT: Tất cả những vấn đề này là để chuyển đổi ứng dụng Trang web thành một Dự án Web trong Visual Studio. Khi tôi đào vào và tôi tìm thấy giải pháp, như tôi đã đánh dấu là câu trả lời dưới đây.C#: Cách chuyển đổi dự án trang web sang một Dự án Web
Về cơ bản, nếu bạn muốn nâng cấp/di chuyển dự án trang web của mình lên một Dự án Web, bạn sẽ gặp phải một số lỗi. Cách thực hiện ngắn gọn trong câu trả lời dưới đây. Cảm ơn tất cả các bạn đã bình luận và giúp đỡ.
Câu hỏi và tiêu đề cũ dưới đây:
Làm cách nào để bọc không gian tên xx {} vào tất cả các tệp lớp?
Làm cách nào bạn bao bọc không gian tên cho tất cả các tệp codebehind trong một dự án web (hoặc bất kỳ dự án nào)?
namespace MyDomain
{
// regular code here
}
dài truyện ngắn ...
Tôi đã được chuyển đổi một dự án đã được gia công ở nước ngoài. Hơn 20.000 tệp trong dự án 'web' một mình, cho một trang web đơn giản như vậy (lắc đầu). Nó được viết bằng vs2005 sử dụng VB.NET và C# (vâng, cả hai đều tuân thủ). Ban đầu nó là một ứng dụng trên Website. Tôi đã chuyển đổi nó thành một ứng dụng Web, chủ yếu là do các hội đồng "8" temp được sản xuất khi bạn xuất bản.
Ok, tôi đang chuyển sang VS2008. Tôi đã chuyển đổi tất cả mã thành C#. Có vẻ tốt. Tôi đã mang tất cả mã App_Code/VB và C# đặc biệt vào các hội đồng riêng biệt.
Bây giờ khi tôi cố gắng biên dịch lại, tôi được cảnh báo về một số lượng lớn các lỗi. Tôi sửa chữa những bằng cách gói các tập tin codebehind trong một không gian tên, và cập nhật usercontrol để sử dụng không gian tên mới.
Nhưng ... 5000 lỗi trở lên ... Trợ giúp!
alt text http://eduncan911.com/blog/thumbnail/4-15-2009.6-00-13.PM.png
Có thể có cách khác? Đây là đoạn mã mẫu từ mã codehind:
public partial class MyHomepage_MyStuff_MyPosts : SecurePage
{ ... }
Lưu ý tên lớp MyHomepage_MyStuff_MyPosts. Đây là đường dẫn thư mục đến vị trí của tập tin tại /MyHomepage/MyStuff/MyPosts.aspx.
Lỗi là tệp codebehind không thể tìm thấy tham chiếu đến điều khiển đang được sử dụng. Chẳng hạn như:
ctl_website_rpt.RowCount = _totalCount;
Đây là điều khiển (quy ước đặt tên) được gọi là "ctl_website_rpt" trong tệp ASPX. Trang aspx có trong tiêu đề:
<%@ Page Title="My Posts" Language="C#"
MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true"
CodeFile="MyPosts.aspx.cs"
Inherits="MyHomepage_MyStuff_MyPosts" %>
Có thể tôi có thể tham khảo trang này ở nơi khác? Mà không thay đổi nó vào không gian tên của?
namespace Website.MyHomepage.MyStuff
{
public partial class MyPosts
{ ... }
}
<%@ Page Title="My Posts" Language="C#"
MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true"
CodeFile="MyPosts.aspx.cs"
Inherits="Website.MyHomepage.MyStuff.MyPosts" %>
Đó là một ý tưởng. Hy vọng về một giải pháp khác (cập nhật các câu hỏi chi tiết hơn rất nhiều). – eduncan911