2011-05-10 34 views
6

Có cách nào để giới hạn việc xây dựng chế độ xem chỉ với các tệp được bao gồm trong tệp .csproj không? Hoặc có ít nhất một cách để loại trừ các thư mục nhất định không được xây dựng?MvcBuildViews dường như xây dựng nhiều tệp hơn được bao gồm trong tệp .csproj

Trong cấu trúc thư mục dự án của chúng tôi, chúng tôi có thư mục \ Admin \ Mocks chứa nhiều tệp .aspx và .cshtml được tạo giả và thư mục \ Admin \ Mocks không được bao gồm trong tệp .csproj (mặc dù \ Admin là), có vẻ như tất cả các tệp trong cây đó đang được xây dựng. Điều này tất nhiên tạo ra rất nhiều lỗi xây dựng.

Tôi không chắc rằng điều này làm cho một sự khác biệt, nhưng dự án của chúng tôi là một WebForms lai/MVC3 ứng dụng (cả WebForms và Razor View Engines) sử dụng Asp.Net 4.

Trả lời

2

Nếu có thể, tạo ra một trang web riêng dự án và đặt nội dung bạn không muốn được xây dựng trong đó, đảm bảo đặt MVCBuildViews thành false.

+0

+1. Không bao giờ đưa nội dung giả vào ứng dụng thực của bạn. Luật của Murphy nói rằng nó sẽ "rò rỉ". –

+0

Mocks không có trong ứng dụng "thực" - chúng không được bao gồm trong csproj và không bao giờ được triển khai. Có các mocks sống bên ngoài cấu trúc thư mục bình thường của chúng tôi làm cho việc tham chiếu tài nguyên css/js/hình ảnh trở nên khó khăn hơn. Ngoài ra vì đây là một dự án di sản, thực sự kéo ra các Mocks (và các thư mục khác - mocks chỉ là một ví dụ) là không thực sự khả thi đối với chúng tôi. –

+0

Được rồi, sau đó tạo bản sao của dự án web, nhưng đổi tên không gian tên thành "MyWebSite.Mock" hoặc "MyWebSite.Copy" và đặt MVCBuildViews thành false. –

3

Dựa trên dấu thời gian, tôi cho rằng bạn cuối cùng đã làm việc xung quanh vấn đề này nhưng tôi nhận được ở đây Googling cho giải pháp cho cùng một vấn đề.

Chúng tôi có một số lượt xem Webform cũ chỉ được đăng ký (không được tham chiếu bởi dự án) cho mục đích tham khảo và thử nghiệm A/B trong khi chúng tôi đang cập nhật ứng dụng. (Webforms -> Razor, MVC2 -> MVC4, vv)

Đây là vấn đề khi cả tệp .cshtml và .aspx đang được tạo và lỗi từ các dạng xem Web đã phá vỡ bản dựng.

Các giải pháp đối với chúng tôi là để đổi tên các tập tin quan điểm cũ từ index.aspx để Index.aspx.old

(Trong trường hợp của bạn tôi sẽ đề nghị index.aspx .mock?)

Điều này có nghĩa là chúng bị loại trừ khỏi MvcBuildViews = Xử lý đúng, nhưng vẫn có thể truy cập dễ dàng và có thể mở được từ Visua l Studio.

Lợi ích bổ sung là bạn có thể thay đổi mở mặc định cho tiện ích mở rộng đó để sử dụng trình chỉnh sửa Biểu mẫu web để bạn vẫn nhận được làm nổi bật và tất cả.

+0

điều này khắc phục sự cố, thật là lạ khi mvc xây dựng các tệp dự án bị loại trừ. –

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