File path for project files?

后端 未结 3 1566
忘了有多久
忘了有多久 2020-12-13 23:58

I am working on a media player in C# but when I want to make my test I have a problem.

I have to create a new object song with the following path:

@\         


        
相关标签:
3条回答
  • 2020-12-14 00:35
    Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"JukeboxV2.0\JukeboxV2.0\Datos\ich will.mp3")
    

    base directory + your filename

    0 讨论(0)
  • 2020-12-14 00:42

    You would do something like this to get the path "Data\ich_will.mp3" inside your application environments folder.

    string fileName = "ich_will.mp3";
    string path = Path.Combine(Environment.CurrentDirectory, @"Data\", fileName);
    

    In my case it would return the following:

    C:\MyProjects\Music\MusicApp\bin\Debug\Data\ich_will.mp3
    

    I use Path.Combine and Environment.CurrentDirectory in my example. These are very useful and allows you to build a path based on the current location of your application. Path.Combine combines two or more strings to create a location, and Environment.CurrentDirectory provides you with the working directory of your application.

    The working directory is not necessarily the same path as where your executable is located, but in most cases it should be, unless specified otherwise.

    0 讨论(0)
  • 2020-12-14 00:54

    I was facing a similar issue, I had a file on my project, and wanted to test a class which had to deal with loading files from the FS and process them some way. What I did was:

    • added the file test.txt to my test project
    • on the solution explorer hit alt-enter (file properties)
    • there I set BuildAction to Content and Copy to Output Directory to Copy if newer, I guess Copy always would have done it as well

    then on my tests I just had to Path.Combine(Environment.CurrentDirectory, "test.txt") and that's it. Whenever the project is compiled it will copy the file (and all it's parent path, in case it was in, say, a folder) to the bin\Debug (or whatever configuration you are using) folder.

    Hopes this helps someone

    0 讨论(0)
提交回复
热议问题