Azure项目中文件的路径

azure filepath emgucv

4480 观看

2回复

6 作者的声誉

我对天蓝色的WCF项目有问题。我想获取我添加到项目< 添加 -> 现有项目 >的xml文件的文件路径。在其属性中,我设置为“ 如果更新则复制 ”,然后将其部署到azure服务器上时,看到该文件已正确复制到bin中。我试过使用:

1)这只在本地模拟器上工作:

string filePath = Path.Combine(Environment.GetEnvironmentVariable("RoleRoot"), @"approot", @"bin", @"myFile.xml");

2)在任何地方都不工作(在模拟器和天蓝色的情况下):

string appRoot = HttpContext.Current.Server.MapPath(@"~\"); 
string filePath = Path.Combine(appRoot + @"\", @"bin\myFile.xml");

除了将xml文件添加到输出目录外,也许还有另一种方法吗?我正在使用EmguCV,并且想加载级联xml文件。

作者: Pa Vel 的来源 发布者: 2013 年 6 月 18 日

回应 (2)


2

28498 作者的声誉

Azure没什么特别的!只是IIS!因此,无论您在本地做什么工作,都可以在Azure中工作(作为一般经验法则)。

你试过了HttpContext.Current.Server.MapPath("~/bin/name_of_file.xml");吗?

我也想知道为什么要设置它的Copy Local属性。添加XML来解决的正确方法是让它Build ActionContentCopy to OutputDo not copy。那Server.MapPath("~/name_of_file.xml")应该就可以了。

作者: astaykov 发布者: 18.06.2013 08:30

0

50 作者的声誉

我只是尝试通过这种方法来获得一个Azure功能,该功能在本地运行时可以正常工作,而在部署到Azure时可以正常工作。我的功能是引用位于解决方案中的数据文件,而在部署到Azure时找不到该文件。虽然仅使用文件名就可以在本地运行时找到文件,但必须将路径“ D:\ home \ site \ wwwroot \”用于要位于Azure中的文件。我没有使用路径的硬编码值,而是使用了:

var binPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))

它获取Azure函数二进制文件的路径,但是我的数据文件位于父文件夹中,因此:

var parentOfBinPath = new DirectoryInfo(binPath).Parent.FullName; 

并与文件名结合使用以获得完整的文件路径:

var filePath = Path.Combine(parentOfBinPath, "my-file.dat");

它既适用于本地运行功能,又适用于已部署到Azure的功能。

作者: Mike G 发布者: 27.08.2019 05:55
32x32