2012-11-02 43 views
8

Vì vậy, gần đây tôi đã bắt đầu với ASP.NET MVC 4. Tôi đang sử dụng công cụ dao cạo. Câu hỏi của tôi liên quan đến tệp xem, với hậu tố cshtml. Dường như với tôi rằng chúng được biên dịch trước thành các tệp * .cs bằng dao cạo, sau đó nó được biên dịch thành MSIL. Một lý do tại sao tôi đưa ra giả định này là nếu tôi nhập một số mã C# không hợp lệ vào tệp cshtml, tôi nhận được lỗi biên dịch được hiển thị như sau:ASP.NET MVC định vị tệp cs được tạo từ cshtml?

dòng 34: public class _Page_Views_BaseDataAdmin_Index_cshtml: ...

Và dòng 34 không phải là dấu hiệu của lỗi ở đâu trong file cshtml, cũng giống như các lớp _Page_Views_BaseDataAdmin_Index_cshtml dường như đề cập đến một lớp .net thường xuyên không phải là quan điểm tập tin.

Vì vậy, câu hỏi của tôi là: Tôi tìm tệp cs ở đâu? Cụ thể, trong ví dụ trên, "_Page_Views_BaseDataAdmin_Index_cshtml.cs"? Có lẽ tôi cần phải thêm một số cấu hình để nói với MVC để giữ tập tin này .cs trên đĩa, nếu có, làm thế nào để tôi làm điều này?

Cảm ơn!

+1

lý do đằng sau muốn biết nơi những tập tin này là gì? Đối với hầu hết các phần bạn không cần chúng cho bất cứ điều gì. – nerdybeardo

+1

Hiện tại vì lý do sư phạm. Bố trí nhận thức của con người thường là kiến ​​thức/hiểu biết chủ yếu được xây dựng dựa trên kiến ​​thức đã có từ trước. Và kể từ khi tôi quen thuộc hơn với C# hơn với cú pháp dao cạo nó sẽ giúp hiểu biết của tôi để xem C# tạo ra. Nhưng tôi chắc chắn cũng có những lý do khác. –

+0

Ngoài sự tò mò về giáo dục, không có lý do gì để xem các tệp .cs được tạo. – jrummell

Trả lời

5

Bạn có thể tìm các chế độ xem được biên dịch trong thư mục Tệp ASP.NET tạm thời của mình.

Đầu tiên tìm tập tin .compiled tương ứng với quan điểm của bạn (ví dụ: home.cshtml): home.cshtml.a8d08dba.compiled

Tập tin này chứa tên lắp ráp: lắp ráp = "App_Web_hkc53urb"

file .cs của bạn sẽ là tên lắp ráp nối với một số: App_Web_hkc53urb.1.cs

một cách tiếp cận dễ dàng hơn có thể được sử dụng Windows tìm kiếm tên xem của bạn trong thư mục ASP.NET tạm thời.

11

Mẹo nhanh để tìm tệp được tạo là thêm tệp này vào tệp .cshtml của bạn.

này sẽ chỉ cho bạn ngay lập tức đường dẫn đầy đủ

<div>This file is compiled to @this.GetType().Assembly.CodeBase</div> 
+0

Điều này không chỉ giúp ích nếu việc biên dịch thành công? –

+0

có nó phải biên dịch để tìm thư mục ban đầu, nhưng nếu bạn đang cố gắng gỡ lỗi một trang không hoạt động, bạn có thể tìm tệp bạn muốn bằng cách tìm kiếm trong thư mục này với 'tìm trong tệp' để lấy tên tệp thực 'App_Web_5d1gwd4o.16.cs'. Chỉ cần trở lại phiên bản có thể biên dịch được cẩn thận để không bị mất các thay đổi. Nếu sau đó bạn cập nhật tệp '.cstml' thì tệp này sẽ được cập nhật và sau đó bạn có thể kiểm tra tệp đó. –

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