我正在構建一個MVC 3項目,該項目需要在控制器中通過路徑引用坐在\bin\
項目文件夾中的程序集。MVC 3 ./bin/的相對路徑
任何人都可以指向正確的方向來構建\bin\
文件夾的相對路徑嗎?
在VS 2010中以調試模式運行項目會導致當前目錄爲C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
,因此使用.\bin\
會在該路徑中查找bin
文件夾。
謝謝
我正在構建一個MVC 3項目,該項目需要在控制器中通過路徑引用坐在\bin\
項目文件夾中的程序集。MVC 3 ./bin/的相對路徑
任何人都可以指向正確的方向來構建\bin\
文件夾的相對路徑嗎?
在VS 2010中以調試模式運行項目會導致當前目錄爲C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
,因此使用.\bin\
會在該路徑中查找bin
文件夾。
謝謝
您可以使用當前的appdomain來獲取此信息。
// 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");
既然你在一個控制器是可以訪問的HttpServerUtilityBase一個實例,它公開了一個MapPath方法:
var binDirectoryPath = Server.MapPath("~/bin");
這具有平凡的單元測試的好處是,由於在MapPath方法是虛擬的,可以被模擬。
第一次工作!非常感謝。 – AndyBursh
謝謝,救命吧 – Cohen