【问题标题】:Silverlight Pixel Shader resource "not found"; what should the URI be?Silverlight 像素着色器资源“未找到”; URI 应该是什么?
【发布时间】:2010-06-17 16:00:15
【问题描述】:

因此,我使用 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 项目的方式),但这也没有帮助。

有人有什么想法吗?

【问题讨论】:

    标签: silverlight uri sketchflow pixel-shader expression-blend-4


    【解决方案1】:

    试试这个。它对我有用:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 不幸的是,这是我尝试过的可能性之一,并且 .ps 位于根目录中:(
      【解决方案3】:

      BuildAction=内容和路径,如“/ShaderFileName.ps”,如果您将其放在应用的根目录中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多