6

Bất kỳ lớp nào tôi tạo trong /App_Code hoặc /App_Code/[subfolder] không có nội dung intelliSense.Thiếu Intellisense trong App_Code, cho bin dlls trong Dự án Trang web

Tức là - tôi có intellisense cho hệ thống dlls như chuỗi. [Thành viên] vv Nhưng không thể làm cho nó để recogize bất kỳ lớp học địa phương để App_Code (bao gồm cả chính nó), hoặc dlls tham chiếu trong/bin thư mục.

Mặc dù tôi có sự quan tâm bên trong phạm vi của hàm thành viên. (Ví dụ. Các biến địa phương hoặc các thông số chức năng)

NB

  • Đây là một trang web dự án Web, không phải là một dự án ứng dụng Web.
  • Tôi đã thử đặt lại tất cả cài đặt Visual Studio và xóa thông tin intelliSense được tìm thấy trong AppData cho VS.
  • Im làm việc với Visual Studio 2012 ver. 11.0.61030.00 Cập nhật 4
  • Dự án đang sử dụng .NET 4.0
  • Nếu tôi di chuyển các lớp bên ngoài thư mục App_code, chúng sẽ đăng ký hoàn toàn bằng intellisense.
  • Không có tùy chọn để đặt cài đặt Xây dựng của tệp thành Biên dịch vì đây là dự án trang web thay vì ứng dụng web.
+1

Các lớp này có trong không gian tên không? – DeadlyChambers

+0

@DeadlyChambers, họ không phải nhưng tôi đã cố gắng thêm chúng vào một, không thành công. – Jono

Trả lời

2

IMO, bạn nên di chuyển mã của mình ra khỏi App_Code. Trong .net 4.5 (và 4.0) mã phía sau của bạn được biên dịch thành một dll, vì vậy tôi không thấy bất kỳ lợi ích nào khi đặt mã của bạn trong App_Code. Nếu ai đó khuyên khác, tôi rất thích nghe.

Với điều đó đã nói, hãy tạo thư mục hoặc thư mục trong dự án gốc của bạn và đặt mã của bạn vào đó.

MyWebsite 
- DataLayer 
    MyDataLayer.cs 
Default.aspx 

Trong ví dụ này, bạn sẽ có thể truy cập vào các lớp học của bạn DataLayer.MyDataLayer

Thậm chí tốt hơn tạo ra một thư viện mới cho mã mà không cần thiết trong mã aspx.cs của bạn vẫn còn file.

+0

Theo dõi sau đó, tại sao App_code lại có ở đó? – Jono

+0

Mã trong App_code không được biên dịch cho đến khi chạy. Nó sẽ lưu trữ mã nguồn thay vì mã được biên dịch. Nhưng như tôi đã nói, tôi không thấy một lợi ích. Tôi đã có những vấn đề tương tự như bạn. Việc tạo thư mục và đặt mã trong đó dễ dàng hơn. Xem tại đây http://msdn.microsoft.com/en-us/library/t990ks23(v=vs.90).aspx – PhillyNJ

2

Các tệp mã mới trong App_Code sẽ có hành động xây dựng "Nội dung", do đó bạn không có nội dung quan trọng. Vì vậy, hãy nhấp chuột phải vào tệp mã của bạn và nhấp vào "Thuộc tính", trong cửa sổ thuộc tính thay đổi "Build Action" thành "Compile".

Sau đó mở lại tệp mã của bạn.

+0

Tôi đang sử dụng Visual studio 2012, không có tùy chọn này trong cửa sổ thuộc tính. Bạn có biết những thuộc tính cho mỗi tệp này thường được lưu trữ cho VS để đọc từ đâu không? Các tập tin giải pháp có thể? – Jono

+0

Tôi đang khóc. Trong năm 2010 nó vẫn còn có thể. Tôi chỉ thử nghiệm nó vào năm 2013, và không có "Build Action" bên trong cửa sổ thuộc tính của tệp lớp. – modiX

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