我正在用C#开发一个应用程序。我有一个名为myfolder的文件夹,其中包含一个名为mypoints.bmp的文件。文件夹myfolder在我的项目文件夹中,它在D驱动器中。路径为D:\Myproject\myfolder\mypoints.bmp。
现在,在我的程序中,任何我需要mypoints.bmp的地方,我都已经硬编码了整个路径。当我的项目被复制到C驱动器下的另一个系统中时,由于硬编码路径,我无法运行我的项目。我如何给出路径,以便即使将其加载到不同驱动器下的不同系统中也不会出现任何问题。
发布于 2010-04-09 13:31:28
最好是将路径存储在配置文件中。
Add -> New Item -> Application Configuration File
然后,您可以使用以下类来提取您要查找的值:
System.Configuration.ConfigurationManager有关于用法的look here。
发布于 2010-04-09 17:56:04
如果您引用的图像是不变的,并且只是作为应用程序的资源,那么您可以考虑将它们嵌入到作为程序集一部分编译的resource files中。这样你就不需要担心路径或复制它们了。
发布于 2010-04-09 13:42:33
如果在代码中使用BMP文件并在运行时访问它,则将其仅保留在项目目录中是没有意义的。它也应该出现在outputdirectory中。
也就是说,你可以写一个编译后的命令,将你的文件夹复制到输出目录。
就像copy "$(ProjectDir)\MyFolder\*.*" "$(OutDir)"一样,你可以在代码中只写相对路径,即"MyFolder\MyPoints.bmp“
但请记住一件事。如果这个BMP文件在你的程序执行过程中不会改变,你最好把它作为一个资源。
https://stackoverflow.com/questions/2605262
复制相似问题