繁体   English   中英

如何获取应用程序目录中复制文件的路径

[英]How to get Path to a copied file in the application directory

我有一些文件,我添加到我的应用程序的资源。 这些文件将“复制到输出目录”属性设置为“始终复制”,因此这些文件将显示在applicationDirectiry / Resources目录中。

我想要的是访问这些文件。 当然我可以使用以下代码:

Environment.CurrentDirectory 
 + Path.DirectorySeparatorChar
 + "Resources\ResourceFileName.xslt";

这里的问题是,如果我想重命名文件或\\ Resources目录,我将不得不修改所有字符串。

编辑:例如,我的资源中有一个MasterData.xslt文件。 构建之后,它将放在_ApplicationFolder \\ Resources_目录中。 该文件的路径是ApplicationFolder \\ Resources \\ MasterData.xslt 在我的代码中,我可以使用访问该文件的内容

Resources.MasterData

有没有办法获取文件路径( ApplicationFolder \\ Resources \\ MasterData.xslt )而不是其内容?

当您在构建期间将文件放置在那里时,该位置应被视为“魔法”常量。

只需使用const string resFolder = "Resources"; 在某处,以便您有一个单点定义。

OT:并使用System.IO.Path.Combine()构建文件路径:

 string myPath = Path.Combine(Environment.CurrentDirectory, 
        resFolder, "ResourceFileName.xslt");

如果Resources是应用程序运行时目录下的子目录,则可以执行以下操作:

string fileName = 
    System.Reflection.Assembly.GetExecutingAssembly().Location +    
    Path.DirectorySeparatorChar + 
    "Resources" + 
    Path.DirectorySeparatorChar +
    "ResourceFileName.xslt";

另请注意,我使用了Path.DirectorySeparatorChar两次而不是“\\”。

暂无
暂无

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

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