Net中获取程序集路径

 

从内存中加载的程序集,无路径

 

IIS中路径

protected void Page_Load(object sender, EventArgs e)

{

Response.Write("程序集路径"+System.Reflection.Assembly.GetExecutingAssembly().Location+"<BR/>");

Response.Write("程序域路径"+System.AppDomain.CurrentDomain.BaseDirectory + "<BR/>");

Response.Write("模块路径"+System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName + "<BR/>");

Response.Write("运行时路径"+HttpRuntime.BinDirectory + "<BR/>");

}

 

 

 

输出

 

 

程序集路径C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\test\02a51a22\1e6b2246\assembly\dl3\3464d812\41e5e6a4_2697d301\WebApplication3.dll
程序域路径d:\Users\zwx\Documents\visual studio 2015\Projects\WebApplication3\WebApplication3\
模块路径c:\windows\system32\inetsrv\w3wp.exe
运行时路径d:\Users\zwx\Documents\visual studio 2015\Projects\WebApplication3\WebApplication3\bin\

 

 

 

WINFORM中路径

Console.Write("程序集路径" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\r\n");

Console.Write("程序域路径" + System.AppDomain.CurrentDomain.BaseDirectory + "\r\n");

Console.Write("模块路径" + System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName + "\r\n");

Console.Write("运行时路径" + System.Windows.Forms.Application.ExecutablePath+ "\r\n");

 

输出

程序集路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bi

n\Debug\ZY.Cloud.Front.GatewayService.exe

程序域路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bi

n\Debug\

模块路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bin\

Debug\ZY.Cloud.Front.GatewayService.exe

运行时路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bi

n\Debug\ZY.Cloud.Front.GatewayService.exe

 

 

服务中路径

程序集路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bin\Debug\ZY.Cloud.Front.GatewayService.exe

程序域路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bin\Debug\

模块路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bin\Debug\ZY.Cloud.Front.GatewayService.exe

运行时路径D:\CodeCard\前置伺服器\综合前置伺服器\ZY.Cloud.Front.GatewayService\bin\Debug\ZY.Cloud.Front.GatewayService.exe

 

 

 

操作文件时,最好在代码中显示指定路径,毕竟程序集自身的位置是不可控的。推荐使用程序域路径或ExecutablePath

posted @ 2018-01-27 12:46  秦秋随  阅读(713)  评论(0编辑  收藏  举报