在构建路径中包含目录

本文关键字:包含目 路径 构建 | 更新日期: 2023-09-27 18:31:12

我希望能够将包含一堆文件的目录添加到我的项目中。此目录需要包含在构建中。然后,我需要能够在运行时获取此目录的路径。

有没有办法做到这一点?

干杯。

在构建路径中包含目录

您可以添加包含所有文件的目录,并按如下方式设置每个文件的属性。这将确保所有文件都将复制到正在运行的目录中。

  • Build Action : 内容
  • Copy Always:始终复制(取决于您的需要)

在运行时访问目录中的文件

您可以使用相对路径访问

bool isFileExisit = File.Exist("DirectoryName/FileName");

使用完整路径访问文件

String fullFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DirectoryName", "FileName");

将文件夹包含在项目中,并将Copy to output directory属性设置为 true。

引用应用程序路径使用System.AppDomain.CurrentDomain.BaseDirectory

您需要将文件添加到项目中并将它们标记为内容文件。

然后,若要在运行时访问它们,请使用以下代码片段:

    string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
        foreach (var resourceName in resourceNames)
        {
            if(resourceName.StartsWith("<assembly short name>.<directory name>"))
            {
                // do something
            }
        }