繁体   English   中英

如何获取 .net 核心项目中项目文件夹中存在的文件的相对路径

[英]How to get relative path of the file that is exist in project folder in .net core project

我想获取项目文件中的文件路径。

我试过了

var path = @"Helper\automationJson.json"

但这从bin/debug获取文件为C:\AutomationActivityTrace\bin\Debug\netcoreapp2.2\Helper\automationJson.json

也试过

string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, subfolder name, filename); 

还有更多,但我没有得到我想要的。

我需要路径为C:\AutomationActivityTrace\Helper\automationJson.json

谁能帮忙?!

假设:您的应用程序需要读取此特定文件,并且该文件在构建时存在。

作为构建的一部分,您需要将其复制到bin文件夹中。 这是使用CopyToOputputDirectory在您的csproj文件中完成的。

例如:

<Project Sdk="Microsoft.NET.Sdk">
   <!-- other stuff -->

  <ItemGroup>
    <None Include="Helper\*.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

现在,当您使用dotnet build项目时,您应该在C:\AutomationActivityTrace\bin\Debug\netcoreapp2.2\Helper\automationJson.json中获得一份副本

涉及AppContext.BaseDirectory的解决方案应该找到该文件,例如Path.Combine(AppContext.BaseDirectory, "Helper", "automationJson.json")

AppContext.BaseDirectory 与 bin 目录无关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM