2014-12-09 175 views
0

我在我的web应用程序中有几个不同类型的项目。其中一些是MyApp.UnitTests,MyApp.UserInterfaceTests,MyApp.Web ...如何获取VS项目子文件夹的路径?

所有这些在C:\Projects\MyApp文件夹中都有相应的文件夹。有一个名为Images的子文件夹,其中MyApp.UserInterfaceTests - C:\Projects\MyApp\MyApp.UserInterfaceTests\Images,其中存储了一些我想用于测试的图像。

如何获取此文件夹的路径?

var dir = AppDomain.CurrentDomain.BaseDirectory;返回程序集的路径,但是有没有办法在解决方案中获取基础项目文件夹的路径?

+0

如果您绝对必须在测试中使用图像,最好将它们作为资源嵌入到测试DLL中,这样您就不必担心特定于环境的事情,如文件路径。 – 2014-12-09 11:48:42

回答

1

您可以通过

filePath = AppDomain.CurrentDomain.BaseDirectory + "\\Images\\"+imagename.extension; 

得到的文件夹,但它会更好地附上您的资源,如图像,RESX文件等的类库和dll引用访问这些。如果将来发生变化,这种方法可以管理模块化。

其他方式是,如果您使用的是数据库,然后将base64形式的图像存储在数据库中。并在渲染时转换回原始形式。

+0

要采取子文件夹内的文件的方法,您必须在解决方案资源管理器中右键单击该文件,然后选择属性 - 复制到输出目录 - 如果更新,则复制。 – Oliver 2014-12-10 07:37:03

相关问题