我已经从Git向Azure部署了一个ASP.NET MVC 6网站.有关部署的详细信息可以在这篇博客文章中找到,但基本上我使用DNU发布它,然后kudu将其推送到Azure网站.
使用IHostingEnvironment
我获取ApplicationBasePath.问题是我回来的路径在localhost和Azure上是非常不同的.
Azure:"D:\ home\site\approot\src\src"
Localhost:"C:\ Users\deebo\Source\mysite\site\src"
我想使用基本路径获取包含一些图像的文件夹的完整路径:wwwroot/img/gallery/
我用以下代码解决了这个问题:
var rootPath = _appEnvironment.ApplicationBasePath;
var pathFix = "../../../";
if(_hostingEnvironment.IsDevelopment())
{
pathFix = string.Empty;
}
var imagesPath = Path.Combine(rootPath, pathFix, "wwwroot", "img", "gallery");
Run Code Online (Sandbox Code Playgroud)
这可能有用,但看起来很黑.
我的部署方法是否可能对此产生影响?
是否有更一致的方法来获取应用程序路径?