ClickOnce 发布后找不到图像

Image not found after ClickOnce publish

我正在使用 MigraDoc 创建 PDF 文档。图片位于项目的根文件夹中,因此我使用此代码将其插入 PDF 文档中:

Image img = tfLogoDate.AddImage("../../db_logo_500p.png");

生成操作设置为 'Content':

这在开发期间工作正常,使用 Visual Studio 调试版本。但是当我使用 ClickOnce(发布)创建构建时,它说找不到图像。

我是否使用了错误的构建操作?还是因为相对路径改变了,当我使用ClickOnce发布我的应用程序时?

我通过更改图像位置找到了使其工作的方法。我现在改用这个:

// I have added the 'pack://(...)' in front of the path
Image img = tfLogoDate.AddImage("pack://application:,,,/../../db_logo_500p.png");

我必须对 PNG 文件使用以下设置:

  • 构建操作:内容
  • 复制到输出目录:不复制

如果有人知道上述方法的确切原因,我将很高兴知道。但最重要的是,它有效...