9

Tôi đang cố gắng chuyển đổi một dự án trang web VB.NET thành một dự án ứng dụng web, nhưng trong dự án ứng dụng web, các tệp mã phía sau của tôi không hiển thị trừ khi tôi đặt tùy chọn trình thám hiểm "hiển thị tất cả các tệp". Tại sao điều này? Tôi có thể thay đổi cài đặt nào để mã của tôi phía sau tệp luôn hiển thị?Tại sao các tệp mã-đằng sau không hiển thị trong dự án Ứng dụng Web VB.NET?

+0

Ghi chú cho người đọc. Vấn đề này không xảy ra với các dự án Trang Web - chỉ các dự án Ứng dụng Web. Điều này đúng trong Visual Studio 2012. Tôi không biết về VS 2013 hoặc 2015. – Theophilus

Trả lời

8

Bạn có thể đặt VS luôn hiển thị tất cả các tệp. Đó là giải pháp tốt nhất mặc dù một cách thực sự xấu xí để tránh điều này sẽ được đổi tên các tập tin cho mã phía sau.

+7

Có, đó là xấu xí, nhưng nó có vẻ ngu ngốc với tôi rằng nó cho thấy mã phía sau các tập tin cho các ứng dụng C#, nhưng không phải cho VB, cho ấn tượng rằng MS nghĩ rằng người dùng VB quá ngu ngốc để xử lý một cái nhìn hơi phức tạp hơn trong Solution Explorer. – ProfK

+2

Theo như cách hiển thị tất cả các tệp, hãy chọn dự án (không phải giải pháp) trong cửa sổ Solution Explorer. Một biểu tượng sau đó sẽ xuất hiện trong thanh công cụ Solution Explorer cho "Hiển thị tất cả các tệp" –

3

Tôi biết đây là một câu hỏi cũ nhưng đó là kết quả hàng đầu trên Google và tôi tìm thấy giải pháp thay thế.

Mở tệp .vbproj của bạn cho dự án trong trình chỉnh sửa văn bản và tìm kiếm tên tệp của tệp codebehind của bạn. Bạn sẽ thấy rằng nó trông giống như sau:

<Compile Include="dashboard\index.aspx.vb"> 
    <DependentUpon>index.aspx</DependentUpon> 
    <SubType>ASPXCodebehind</SubType> 
</Compile> 

Nếu bạn chỉ đơn giản là loại bỏ các thẻ DependentUpon, mọi thứ vẫn sẽ hoạt động bình thường, nhưng cả hai tập tin sẽ hiển thị trong Visual Studio, như mong muốn. Vì vậy, phiên bản cuối cùng của tôi sẽ trông giống như sau:

<Compile Include="search\index.aspx.vb"> 
    <SubType>ASPXCodeBehind</SubType> 
</Compile> 

Phải mất một chút chỉnh sửa thủ công nhưng nó hoạt động cho tôi. Ngoài ra, nếu bạn đổi tên/chỉnh sửa tệp theo cách thủ công sang định dạng trang/codebehind sau khi tạo tệp lớp thông thường, chúng sẽ xuất hiện như mong muốn trong dự án mà không cần phải sử dụng "Hiển thị tất cả tệp".

+0

Khi bạn thực hiện "Hiển thị tất cả tệp", mã phía sau và các trang thiết kế được lồng trong tệp .aspx. Với phương pháp của bạn, tệp được liệt kê hoàn toàn riêng biệt. Có thay đổi nào bạn có thể thực hiện trong tệp .vbproj để lấy mã đằng sau tệp để hiển thị nhưng được lồng trong tệp .aspx không? Nếu không, giải pháp tuyệt vời. Cho phép bạn chọn các tệp chính xác để hiển thị. – DanM7

+1

Tôi nghĩ cờ DependentUpon là cái thường được sử dụng để lồng các tệp, nhưng nó đặc biệt bị vô hiệu hóa cho các tệp VB vì rõ ràng nó quá phức tạp của một đối tượng cho các nhà phát triển VB. Xem nhận xét của MS dev David Nelson ở dưới cùng của phản hồi này: https://connect.microsoft.com/VisualStudio/feedback/details/590046/show-related-code-behind-files-for-vb-net-web-applications -in-solution-explorer – justis

+0

Thấy liên kết đó trong tìm kiếm của tôi, nhưng không nhận ra anh ta là một nhà phát triển MS. Cảm ơn vì điều đó! – DanM7

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