我现在有一个运行在完整net452框架上的网络核心应用程序。我在wwwroot中包含了一个需要从net452库访问的文件(test.txt)。我已经注入了托管环境并获得了路径。但是,System.IO.File.Exists(path \ filename)返回false,并且DLL代码返回“指定的文件不存在”。该文件确实存在,路径“C:\ Users \ bbrown \ Source \ Repos \ MyRepo \ wwwroot \ test.txt”看起来是正确的。我99%肯定这是一个权限问题。一个直接的net452应用程序路径为“C:\ Users \ bbrown \ Documents \ TestApp \ AppData \ test.txt”工作。
如何获取文件的访问权限或至少调试问题。 谢谢!
答案 0 :(得分:0)
1)确保您拥有该文件夹的适当权限。转到安全性下的该文件夹,看看您是否拥有权限。如果您使用的是IIS,请确保您的应用程序池用户拥有该文件夹的权限。
2)_hostingEnvironment.ContentRootPath将为您提供内容根路径,这意味着文件夹本身。您应该使用_hostingEnvironment.WebRootPath,它将为您提供wwwroot文件夹的路径。
这是一个很好的博客,将清除你的疑虑 https://blog.mariusschulz.com/2016/05/22/getting-the-web-root-path-and-the-content-root-path-in-asp-net-core