1

所以我用 Shazzam 编写并编译了一个 HLSL 像素着色器,将生成的 .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"

我还尝试将着色器文件从 Screens 程序集移动到根程序集(这就是创建 SketchFlow 项目的方式),但这也无济于事。

有人有什么想法吗?

4

3 回答 3

2

尝试这个。这个对我有用:

BuildAction=Resource
Uri = new Uri("/AssemblyName;component/Effects/Shaders/Inverse.ps", UriKind.RelativeOrAbsolute)
于 2012-07-10T09:45:35.940 回答
0

BuildAction=Content and path like "/ShaderFileName.ps" 如果你把它放在你的应用程序的根目录中

于 2010-12-10T15:25:41.773 回答
0

BuildAction=Resource 是正确的,格式为:“AssemblyName;component/ShaderFileName.ps” 如果着色器 .ps 文件位于文件夹内,请不要忘记添加相对路径。还要检查拼写。

于 2010-06-17T17:39:36.167 回答