none
读库里面的资源文件 RRS feed

  • 问题

  • 在win8里面,lib库里面如何读取lib库自己的资源文件,比如txt和png文件。

    我用Uri myuri = new Uri("ms-appx:///component/image/title_logo.png", UriKind.Absolute);

    发现图片读取的大小都是0

    我用Uri myuri = new Uri("pnglib;Component/image/title_logo.png", UriKind.Absolute);

    系统报错,错误码是:System.UriFormatException


    让信任简单起来

    2012年10月10日 6:19

答案

  • 首先,要理解ms-appx 的作用,他其实是引用应用输出目录下的Appx 下的物理文件,如果你的项目文件Build Action为Content,那么这个文件会被直接打包输出到Appx 下,也就是说会打包随应用安装到安装目录下,这时候才可以用me-appx 来引用找到。你所说的引用不到,你只需要自己先检查下Appx 目录下是否存在你这个路径的文件,当然我觉得不该有 component 这个。而直接是 image 文件夹下的 title_logo.png。

    如果你在一个独立的DLL中引用,首先,Windows Store app中DLL的Content 文件会被独立输出到这个DLL名字命名的目录下,比如说你的DLL项目是XXX ,那么你的Appx 下面则有XXX目录,然后才有这个DLL项目的image 以及你的图片,所以你的Path应该写为  ms-appx:///XXX/image/xxx.png


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年10月11日 7:50
    版主

全部回复

  • 对于图片

    尝试使用一下 Uri myuri = new Uri("ms-appx:///image/title_logo.png");

    如果是在page .cs中 可以使用 new Uri(this.BaseUri,"image/title_logo.png");

    2012年10月10日 11:40
  • 我是在dll的非page里面用试过这个,还是不行。


    让信任简单起来

    2012年10月10日 11:44
  • 首先,要理解ms-appx 的作用,他其实是引用应用输出目录下的Appx 下的物理文件,如果你的项目文件Build Action为Content,那么这个文件会被直接打包输出到Appx 下,也就是说会打包随应用安装到安装目录下,这时候才可以用me-appx 来引用找到。你所说的引用不到,你只需要自己先检查下Appx 目录下是否存在你这个路径的文件,当然我觉得不该有 component 这个。而直接是 image 文件夹下的 title_logo.png。

    如果你在一个独立的DLL中引用,首先,Windows Store app中DLL的Content 文件会被独立输出到这个DLL名字命名的目录下,比如说你的DLL项目是XXX ,那么你的Appx 下面则有XXX目录,然后才有这个DLL项目的image 以及你的图片,所以你的Path应该写为  ms-appx:///XXX/image/xxx.png


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年10月11日 7:50
    版主