我正在进行单元测试,测试生成文件的应用程序中的方法。所以我决定将一个预期的文件放在一个名为Resource / Empower /的目录中。 资源文件夹与Unit Test项目的bin文件夹处于同一级别。
现在我要做的是获取文件名的路径。我不能硬代码,因为我不确切知道构建服务器上的驱动器。
那么我该如何获取文件的相对路径。假设文件名是expectedMasterFileSetUp.txt
?
我想要路径Resource/Empower/ExpectedMasterFileSetUp.txt
答案 0 :(得分:3)
为什么要使用URI?
string AbsolutePathRelativeToEntryPointLocation( string relativePath )
{
Assembly entryPoint = Assembly.GetEntryAssembly() ;
string basePath = Path.GetDirectoryName( entryPoint.Location ) ;
string combinedPath = Path.Combine( basePath , relativePath ) ;
string canonicalPath = Path.GetFullPath( combinedPath ) ;
return canonicalPath ;
}
答案 1 :(得分:1)
对结果使用Path.GetDirectoryName()
new Uri(Assembly.GetExecutingAssembly().CodeBase).AbsolutePath
然后Path.Combine()你的相对路径到最后。