2011-08-25 38 views
18

Tôi đang xây dựng một dự án MVC 3 yêu cầu tham chiếu, theo đường dẫn, trong bộ điều khiển đến một hội đồng nằm trong thư mục \bin\ của dự án.MVC 3 đường dẫn tương đối đến ./bin/

Ai có thể chỉ cho tôi đúng hướng để xây dựng đường dẫn tương đối đến thư mục \bin\ không?

Chạy dự án ở chế độ gỡ lỗi trong VS 2010 khiến thư mục hiện tại là C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0, vì vậy hãy sử dụng .\bin\ tìm thư mục bin trong đường dẫn đó.

Cảm ơn

Trả lời

39

Bạn có thể sử dụng tên miền ứng dụng hiện tại để nhận thông tin này.

// 1) get current directory for this loaded assembly 
// 2) combine path to get \bin folder 
var path = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin"); 
+0

Làm việc lần đầu tiên! Lời cảm ơn to lớn. – AndyBursh

+0

cảm ơn, trình tiết kiệm cuộc sống – Cohen

8

Vì bạn đang ở trong một điều khiển bạn có quyền truy cập vào một thể hiện của HttpServerUtilityBase, mà lộ ra một phương pháp MapPath:

var binDirectoryPath = Server.MapPath("~/bin"); 

này có lợi ích bổ sung là trivially đơn vị kiểm chứng, kể từ khi MapPath phương pháp là ảo và có thể được chế nhạo.

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