简体   繁体   中英

Best way to manage resources(Not necessarily RESX files) in .Net solution

This sounded like a trivial question initially but I did not come across any solid/best practice solution on how to do this so I am asking the question here. Now, let's imagine that we have to work with couple of ".txt" files in our code which is in a class library.

Now, I think there are 3 major ways to handle this:

  • Just put everything in your Bin/Debug/Resources folder of the calling application and in your code use "Resources\\*.txt". I think this is the simplest and most unobtrusive way to handle this. However, there are many trivial problems with it:

    • When you check in the source control would not check-in the files inside the Bin/Debug folder

    • So in this case, probably adding the folder one level above and then writting post-build scripts is the most efficient option I guess?

  • Add resources folder on the same level as Bin folder . That way we can successfully manage it using the source control. however now when we need to reference it through our code it becomes tricky

    • We can reference this files assuming that the Binary folder's structure is like Bin/Debug and reference to the Resources folder like ..\\..\\Resources

    • But this structure is not always guaranteed what if the binary folder structure is like Bin/ (without any debug folder in it) then ../../Resources is going to fail

  • Add all the txt files as .RESX files. But I am not sure if it is the practice around everywhere and the most popular way to store resources.

    -Also, the code that we have to write to access the resources files sounds like cumbersome as oppose to just picking up the file from windows file system.

Probably I am missing something trivial but I was just curious and was thinking that it should be much more simpler than this. Any suggestions?

Create a different project in the solution called Myproject.Resources. Next install Microsoft MAT and manage your translations with MAT: https://developer.microsoft.com/en-us/windows/develop/multilingual-app-toolkit

You manage your translations with MAT and the .resx files are kept up-to-date. ;-)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM