2010-06-17 24 views
1

J'ai donc écrit et compilé un pixel shader HLSL avec Shazzam, placé le fichier .ps résultant dans mon projet, et j'essaie de l'instancier. Peu importe l'URI que j'ai mis, Blend me dit que la ressource ne peut pas être trouvée à chaque fois que j'essaie d'afficher un concepteur xaml, et Visual Studio me montre simplement une page blanche, en mode design et si j'essaye d'exécuter l'application.Silverlight Pixel Shader ressource "introuvable"; que devrait être l'URI?

Ceci est un projet Silverlight 4 SketchFlow, dans Blend 4 RC et Visual Studio 2010.

J'ai essayé à la fois des ressources et EmbeddedResource que l'action de construction pour le fichier .ps, ni fait aucune différence (I » m assez sûr que c'est supposé être mis à Resource).

J'ai essayé les formats d'URI suivants:

"ShaderFileName.ps" 
"/ShaderFileName.ps" 
"AssemblyName;component/ShaderFileName.ps" 
"/AssemblyName;component/ShaderFileName.ps" 

J'ai aussi essayé de déplacer le fichier de shaders de l'ensemble des écrans à l'ensemble de la racine (c'est comment les projets SketchFlow sont créés) et cela n'a pas aidé non plus .

Quelqu'un a des idées?

Répondre

0

BuildAction = La ressource est juste et le format est: « AssemblyName; composants/ShaderFileName.ps » Ne pas oublier d'ajouter le chemin relatif si le fichier .ps shader est situé dans un dossier. Vérifiez également l'orthographe.

+0

Malheureusement, c'est l'une des possibilités que j'ai essayé et le .ps est dans la racine :( – Grank

0

BuildAction = Le contenu et le chemin comme « /ShaderFileName.ps » si vous le mettez dans la racine de votre application

2

essayer. Cela fonctionne pour moi:

BuildAction=Resource 
Uri = new Uri("/AssemblyName;component/Effects/Shaders/Inverse.ps", UriKind.RelativeOrAbsolute)