我正在构建一个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