从 ASP.Net 项目中查找 DLL 的路径
Posted
技术标签:
【中文标题】从 ASP.Net 项目中查找 DLL 的路径【英文标题】:Finding path to DLL from ASP.Net project 【发布时间】:2016-09-18 04:30:33 【问题描述】:我有一个 MVC 网站,我想从解决方案中的另一个项目加载 DLL。这在控制台应用程序中很容易。问题是我想在应用程序域中加载 dll(所以不能使用项目或文件引用)。你看到的网站项目和 DLL 项目互不信任。
我使用构建事件将 DLL 复制到 bin/Debug 或 bin/Release 文件夹中,但是当我运行应用程序 Calls to Assembly.GetExecutingAssembly.Location 提供了一些临时文件夹,其中只有 website.DLL 另一个 dll 在另一个文件夹,文件夹之间没有明显的关系。
如何在 asp.net MVC 站点中找到 dll 的路径,以将其加载到应用程序域中,而无需直接引用?
【问题讨论】:
【参考方案1】:你可以使用
System.Web.HttpContext.Current.Server.MapPath(path);
或使用 HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
或(如果您使用 ASP.NET 核心)
// DI
IHostingEnvironment _appEnvironment;
Path.Combine(_appEnvironment.ApplicationBasePath, "bin", "Debug", "YourDllName.dll");
路径类似于var path = "~/bin/Debug/YourDllName.dll";
【讨论】:
以上是关于从 ASP.Net 项目中查找 DLL 的路径的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC - 从控制器中查找 App_Data 文件夹的绝对路径
如何将文件路径从 asp.net matlab ne builder dll 工具传递给 Matlab 函数
如何将位于应用程序部分 (DLL) 中的部分视图呈现到主 asp.net core 2.2 项目中