Ресурс Silverlight Pixel Shader "не найден"; каким должен быть URI? - PullRequest
1 голос
/ 17 июня 2010

Итак, я написал и скомпилировал пиксельный шейдер HLSL с Shazzam, поместил полученный файл .ps в мой проект и пытаюсь создать его экземпляр.Независимо от того, какой URI я указал, Blend сообщает мне, что ресурс не может быть найден, когда я пытаюсь просмотреть какой-либо конструктор xaml, а Visual Studio просто показывает пустую страницу, как в режиме конструктора, так и при попытке запустить приложение.

Это проект Silverlight 4 SketchFlow, в Blend 4 RC и Visual Studio 2010.

Я пробовал и Resource, и EmbeddedResource в качестве действия по сборке для файла .ps, ни один из них не сделал никакогоразница (я почти уверен, что он должен быть установлен в Resource).

Я пробовал следующие форматы URI:

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

Я также пытался переместить файл шейдера с экрановсборка в корневую сборку (так создаются проекты SketchFlow), и это тоже не помогло.

У кого-нибудь есть мысли?

Ответы [ 3 ]

2 голосов
/ 10 июля 2012

Попробуй это. У меня это работает:

BuildAction=Resource
Uri = new Uri("/AssemblyName;component/Effects/Shaders/Inverse.ps", UriKind.RelativeOrAbsolute)
0 голосов
/ 10 декабря 2010

BuildAction = Содержимое и путь, например "/ShaderFileName.ps", если вы поместили его в корень своего приложения

0 голосов
/ 17 июня 2010

BuildAction = Ресурс правильный и формат: "AssemblyName; компонент / ShaderFileName.ps" Не забудьте добавить относительный путь, если файл .ps шейдера находится внутри папки. Также проверьте орфографию.

...