[英]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.