在文件系统中获取ASP.NET MVC站点的路径

我有一个ASP.NET MVC项目,它有一个名为emails的子文件夹.这包含我的电子邮件模板的HTM文件.在网站的某些位置,我有一个控制器,需要加载其中一个模板并将其作为电子邮件发送.

我正在尝试做的是使用反射来获取当前正在执行的程序集的路径,但它没有像我期望的那样工作.我回来的路是:

var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

‘C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary
ASP.NET iles\ssl\1da130c4\f8e7810e\assembly\dl3\5f253aca\1a71f123_e83bcc01\Emails\ProductAccountConfirmation.htm’

我发现这很奇怪,因为该站点是通过Visual Studio在IIS中托管的.我原以为这会给我在dev的项目文件夹中的dll位置和生产中的IIS的deploy文件夹.

解决方法

您正在寻找的是 Server.MapPath(),它将为您提供正在执行的应用程序的路径.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....