![](/img/trans.png)
[英]System.IO.FileNotFoundException: 'Could not find file 'C:\Program Files (x86)\IIS Express\files'.'
[英]WebApi, File exists but file not found, IIS always reads from “C:\Program Files (x86)\IIS Express” folder
我有一个Web API解决方案,该解决方案的文件夹包含配置文件( 请参阅解决方案资源管理器的图像,此处显示配置文件 )
代码中的路径名是:
public const string CONFIGFILEPATH = "VTS_Data\\Config.vts";
public const string BCSEQUENCEFILEPATH = "VTS_Data\\BCSequenceNumber.xml";
public const string OPCCONFIGFILEPATH = "VTS_Data\\OPCTagConfiguration.das";
应用程序始终从路径"C:\\Program Files (x86)\\IIS Express"
读取。 如果我将VTS_Data文件夹手动放置在"C:\\Program Files (x86)\\IIS Express"
此路径中,则该应用程序可以正常运行。
但是,如何从实际的路径中进行配置呢?
另外,当它作为IIS站点托管时,VTS_Data文件夹需要存在于IISExpress文件夹中。
我试图在需要从路径读取时使用(HttpContext.Current.Server.MapPath(Constants.CONFIGFILEPATH))
。 当我调试时,它指向实际的物理路径,但是File.Exists
即使文件存在也返回false。
我已完全控制所有人,并确保文件不是只读的。
任何帮助将不胜感激。 先感谢您
当我创建变量var baseDir = HttpContext.Current.Server.MapPath("~/VTS_Data")
并使用var OPCConfigurationFilePath = Path.Combine(baseDir , OPCTagConfiguration.das);
它开始工作。 好像以前它已经指向一个文件夹,并在其中搜索另一个具有相同名称的文件夹。 例如 而不是指向folderName / abc.txt,而是指向folderName / folderName / abc.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.