小编Ale*_*758的帖子

C# - 从不同的程序集加载图像

我在不同的程序集中有一个图像:

  • (.NET Standard 1.4) ResourcesAssembly/Common/Images/CompanyLogo.png - 强制性要求
  • 构建操作:内容- 强制性要求
  • 复制到输出目录:Copy if newer(我编译后检查过——需要的图片出现在我的exe所在的输出目录中——例如Debug/Common/Images/CompanyLogo.png。所以获取应该没有问题从那里开始。)

我想将其粘贴到窗口内的应用程序集 (WPF) 中。我尝试了 2 个变体。

1.

<Image Source="pack://siteoforigin:,,,/Common/Images/CompanyLogo.png" />
Run Code Online (Sandbox Code Playgroud)

界面中的图像在运行时可见。但是 VS 的 XAML 设计器在设计时没有显示图像并说这是一个错误:

找不到路径“C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Common\Images\CompanyLogo.png”的一部分。

2.

<Image Source="pack://application:,,,/ResourcesAssembly;component/Common/Images/CompanyLogo.png" />
Run Code Online (Sandbox Code Playgroud)

图像在运行时不可见,但在设计时一切正常。

Visual Studio 2017 社区版 15.4.4。

所以第一个变体似乎适合我,但是那个奇怪的错误 - 为什么它试图在 Visual Studio 文件夹中找到图像?“siteoforigin”选项与应用程序 exe 相关,而不是与 Visual Studio exe 相关,不是吗?

更新

尝试使用构建操作作为“嵌入式资源”的第二个变体(ResourcesAssembly 是一个 .NET Standard 1.4 项目)。甚至清理并重建了解决方案。结果与第二个变体相同:图像在运行时不可见,但在设计时可见。

.net c# wpf resources .net-standard-1.4

5
推荐指数
1
解决办法
1252
查看次数

标签 统计

.net ×1

.net-standard-1.4 ×1

c# ×1

resources ×1

wpf ×1