在引用的程序集中找不到嵌入式资源

时间:2011-02-08 02:12:58

标签: c# winforms visual-studio-2010 vsto

我引用了另一个包含我想要使用的WPF表单的项目。这个表格恰好在其左上角有一个小图标。

在我自己的VSTO项目中,我有一个应该调用表单的按钮。

在运行时,单击该按钮会给我一个错误,说它无法获取资源'$ this.Icon',这是我引用的WPF表单的嵌入式资源。

我做了一点测试,创建了另一个在启动时调用相同表单的Outlook插件。表单加载正常且没有错误。

关于可能导致这种情况的任何想法;经过几个小时的代码没有产生任何结果 :(

编辑:对不起,这是一个winform,而不是更新的WPF

1 个答案:

答案 0 :(得分:1)

我写了一篇关于这个主题的文章,在我的博客上标题为Accessing Embedded Resources using GetManifestResourceStream

要检查两件事:

  1. 确保图标上的Build Action属性设置为Embedded Resource。

  2. 您使用的是资源的完全限定名称吗?这段代码将转储汇编资源的名称:

    Assembly _assembly;
    _assembly = Assembly.GetExecutingAssembly();
    string[] names = _assembly.GetManifestResourceNames();
    foreach (string name in names)
       System.Console.WriteLine(name);