【发布时间】:2019-04-14 19:57:49
【问题描述】:
辅助引用中的 .xaml 图像位置在运行时不会成为正确的资源位置,而是引用主引用资源文件夹。我该如何更改?
背景-
我有几个项目的解决方案。这里重要的三个项目是
- 构建为类库的 WPF 项目
- 默认类 图书馆
- 用于测试的控制台应用程序
WPF 项目的资源中有一个 .png 图像。在创建的 MainWindow 中,它通过以下方式调用:
<ImageBrush
ImageSource="pack://siteoforigin:,,,/Resources/MyDemoImage.png"
Stretch="Uniform"/>
当我直接通过console app 运行 WPF 窗口的实例时,它工作正常。资源引用在运行时变为:
C:\Users\me.me\Documents\Visual Studio 2015\Projects\sol\
WPFProjectName\
bin\Resources\MyDemoImage.png
但是如果我在类库项目中创建对WPF项目的引用然后调用类库的一个实例,地址就变成了
C:\Users\me.me\Documents\Visual Studio 2015\Projects\sol\
ClassLibraryName\
bin\Resources\MyDemoImage.png
所以这个“包”地址变成了对类库资源的引用,而不是 WPF 项目资源文件夹。
现在,我想我也可以简单地将资源添加到那个中间人类库中,但我想知道是否有一些正确的方法来引用“辅助”资源,所以我只需要添加一次图像?
顺便说一句,我在尝试编译时遇到的错误是 System.Windows.Baml2006.TypeConverterMarkup - 我已经找到了有关此的答案,但尝试了他们所说的无济于事(始终将图像标记为副本等)
【问题讨论】:
-
-
太好了,我会试一试。我实际上通过将
BuildAction更改为Embedded Resource找到了一个解决方案,但是现在当我在另一个应用程序(即Excel VBA)中引用此程序集时,地址已更改为`C:\Program Files\Microsoft Office\Office 15 等...我希望您的修复可以解决它:D
标签: c# wpf visual-studio resources