我有一个 ASP.NET MVC 项目,其中有一个名为电子邮件的子文件夹。其中包含我的电子邮件模板的 HTM 文件。在网站的某些位置,我有一个 Controller 需要加载这些模板之一并将其作为电子邮件发送。
我想做的是使用反射来获取当前正在执行的程序集的路径,但它没有像我预期的那样工作。我返回的路径是:
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 的部署文件夹。
最佳答案
您正在寻找的是Server.MapPath() ,它将为您提供正在执行的应用程序的路径。
关于asp.net - 获取 ASP.NET MVC 站点在文件系统中的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598264/