【问题标题】:WPF .NET Core 5.0 app - Publish to single file - not showing resourcesWPF .NET Core 5.0 应用程序 - 发布到单个文件 - 不显示资源
【发布时间】:2022-01-08 02:05:20
【问题描述】:

我在 .NET 5.0 中看到您可以在单个文件中发布应用程序,这是我一直在测试和用于我的应用程序的东西。我的问题是,在我使用“生成单个文件”选项发布应用程序后,生成的 .exe 文件不包含我的资源。

第一部分是发布文件夹中的 exe 应用程序 第二部分是构建发布文件夹中的 exe 应用程序

所有图片都是带有 Build Action - Resource 的 svg 图片 我还尝试了构建操作 - 嵌入式资源和复制(如果更新),但我没有运气。

任何想法如何将我的 svg 嵌入到我的 exe 文件中?

【问题讨论】:

  • 您需要将构建操作设置为“资源”。不要复制工件。然后使用包 URI 引用图像。而已。释放模式。清洁和重建。发布。
  • @BionicCode 您能否更具体地了解一下包 URI。我使用这种方式来指定图像位置 其中 Resources/HomeTab/ClipBoard 是图像的文件夹。 page_copy 被设置为 Resource 但我仍然没有在发布文件夹中看到它。
  • 如果资源与引用对象位于同一程序集中:"pack://application:,,,/Resources/HomeTab/Clipboard/page_copy.svg"。如果资源位于与引用对象不同的程序集中(例如,被引用的程序集名为 Resources):"pack://application:,,,/Resources;component/Resources/HomeTab/Clipboard/page_copy.svg"。见Microsoft Docs: Resource File Pack URIs
  • 应该是LargeImageSource="{svgc:SvgImage pack://application:,,,/Resources;component/Resources/HomeTab/Clipboard/page_copy.svg}"
  • SvgImage 扩展来自哪个库? Tge 扩展可能会公开一个您可以设置的属性。

标签: wpf resources release single-file


【解决方案1】:

问题是基于 BionicCode ImageSource 的路径

我不得不更改代码

      <RibbonButton x:Name="CoppyPageButton" Label="{x:Static p:Resources.Page_Copy_Button}" LargeImageSource="{svgc:SvgImage Resources/HomeTab/Clipboard/page_copy.svg}"></RibbonButton>

<RibbonButton x:Name="CoppyPageButton" Label="{x:Static p:Resources.Page_Copy_Button}" LargeImageSource="{svgc:SvgImage Source='pack://application:,,,/Resources/HomeTab/Clipboard/page_copy.svg'}"></RibbonButton>

请注意,为了使路径正常工作,它需要单引号。

【讨论】:

    猜你喜欢
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多