Mam projekt C#, w którym zawieram pewne zasoby, które muszę odnosić za pomocą klasy Uri. W tym konkretnym problemie mam kilka shaderów umieszczonych w folderze "Shadery" w katalogu głównym projektu, ale miałem już ten problem z innymi plikami, takimi jak obrazy itp. Do tej pory użyłem prostego rozwiązania dającego stałe absolutna ścieżka i upewnienie się, że plik jest obecny w tej lokalizacji. Nie trzeba dodawać, że to nie jest dobre rozwiązanie i na dłuższą metę nie będzie działać ...Praca ze względnymi ścieżkami plików w .Net
Jak zatem użyć względnych ścieżek do odsyłania moich zasobów? Przypuszczam, że moje pytanie jest dwojakie:
Pierwsza; Nie chcę odsyłać względnej ścieżki z mojego folderu debugowania do folderu projektu. Chcę, aby plik został skopiowany do folderu kompilacji. Shadery są uwzględnione w projekcie, ale oczywiście to nie wystarczy. Jak mogę powiedzieć projektowi, aby kopiował pliki podczas budowania? Lub; jaki jest najczęstszy sposób rozwiązania tego problemu?
Po drugie; kiedy mam folder "Shadery" skopiowany do mojego folderu kompilacji - jakiej składni Uri używam do odnoszenia się np. "myShader.ps" umieszczony w tym folderze? Czy mogę po prostu powiedzieć:
file:///Shaders/myShader.ps
?
To dziwne, że musimy uciekać się do refleksji. Nie wszystkie środowiska to zaakceptują. Również (chociaż od tej kwestii chcemy przejść dalej), co jeśli identyfikator URI jest względny względem bieżącego katalogu, zamiast być względny w stosunku do miejsca montażu? –