cấu trúc dự án của tôi trông như thế này:Không thể chạy dự án MVC4 nếu không sử dụng thư mục đầu ra tiêu chuẩn
- src
- thư viện lớp 1
- thư viện 2
lớp - dự án web - bin
- gỡ lỗi
- giải phóng
Thư mục đầu ra mặc định cho một dự án web MVC4 là .\Bin\
(tức là trong thư mục của dự án web), nhưng tôi thay đổi nó thành một cái gì đó như ..\bin\debug\
hoặc ..\bin\release\
để phù hợp với cấu trúc dự án ở trên của tôi. Nó biên dịch tốt và các tập tin nhị phân đi đến các địa điểm chính xác.
Nhưng khi tôi chạy dự án, nó phàn nàn rằng Could not load type Myproject.MvcApplication
, trong khi nếu tôi không thực hiện các thay đổi trên thì nó hoạt động.
Làm cách nào để kiểm soát vị trí cho tệp nhị phân? Tôi muốn thư mục đầu ra tách biệt hoàn toàn với các thư mục nguồn - nó dễ triển khai hơn và bảo mật hơn vì tôi không có hỗn hợp nguồn và tệp nhị phân ở một nơi.
Vì tôi sử dụng msbuild, và tôi triển khai mọi thứ từ thư mục bin đầu ra của msbuild của tôi. Và bởi vì tôi muốn nguồn tách biệt với các tệp nhị phân nên tôi không bao giờ vô tình cung cấp tệp cho người không nên có chúng. –
Tôi không thấy điều này là một vấn đề. Có lẽ những gì tôi phải làm là tìm ra cách, để thuận tiện, khi tôi nhấp vào nút chạy/gỡ lỗi, nó chạy trang web từ thư mục bin của msbuild của tôi và không phải từ thư mục bin của dự án. Tôi có thể làm cho IIS Express làm điều đó không? –
@BobbyB - Bạn không thể chạy trang web của bạn từ thư mục Bin, nó cần quyền truy cập vào tệp, như tệp xem, javascript, hình ảnh, v.v ... tất cả đều nằm dưới thư mục gốc, vì vậy nếu bạn tạo thư mục bin của mình thư mục gốc của bạn, sau đó bạn sẽ phải sao chép toàn bộ cấu trúc trang web của bạn trong thư mục bin. Bạn không thực sự có ý nghĩa. –