【问题标题】:Image reading at WPF application deployment environmentWPF 应用程序部署环境中的图像读取
【发布时间】:2013-01-16 20:18:14
【问题描述】:

我有一个像这样的 WPF 应用程序项目目录

实际上,我在 Visual Studio 项目中添加了一个名为“Resources”的文件夹,并在其中添加了一些图像。实际上,该文件夹是在上面的位置创建的。我们可以在上面的图片中看到。“Resource”文件夹中图像的默认属性下面给出

BuilAction:Resource
Copy output Directory:Do not Copy 

我正在从这个文件夹中读取一个名为“form1.ico”的图像文件

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Class="MyApp.FrmMain"
    Title="MyApp" Height="768" Width="1024" WindowStartupLocation="CenterScreen" x:Name="MainWindow" WindowStyle="None" Loaded="MainWindow_Loaded" ShowInTaskbar="False" ResizeMode="NoResize" WindowState="Maximized" mc:Ignorable="d" Icon="/MyApp;component/Resources/form1.ico" StateChanged="Window_StateChanged">

如果我使用 Visual Studio 2008 运行应用程序,每个人都认为工作正常。但是资源文件不是在 Bin 文件夹中创建的。我的问题是如果我将 bin 文件夹从这个位置复制到另一个位置并运行 exe在 bin 中创建应用程序崩溃(似乎它正在搜索图像的绝对路径)如果我将 Resource 文件夹移动到另一个位置也会发生这种情况。我试图设置像这样的图像属性

BuilAction:Content
Copy output Directory:copy always

现在它正在 bin 文件夹中创建一个文件夹名称“Resources”。但它甚至没有通过 Visual Studio 运行应用程序。它抛出一个异常说它找不到特定的图标。

  • 谁能解释为什么会这样?
  • 部署应用程序时如何复制这些资源文件夹?因为我的应用程序需要在部署环境中从该文件夹中读取文件。
  • 如果我将属性设置为嵌入式资源,是否可以将图像替换为 与另一个图像一起运行时间?

提前致谢:)

【问题讨论】:

    标签: c# wpf visual-studio-2010 visual-studio-2008 resources


    【解决方案1】:

    要引用相对路径,请将您的图标位置设置为;

    Icon="Resources/form1.ico"
    

    我不确定为什么没有复制您的图片。

    我刚刚尝试过,我的图标被复制到资源目录中的调试目录中。

    为了确定,您确定将 Icon 的“构建操作”设置为“Content”,并将“复制到输出目录”设置为“始终复制”?

    另外,再次确定...您是否将文件包含在项目中?也就是说,如果你设置了“显示所有文件”选项,如果你右键单击图标,你可以将它包含在项目中。

    【讨论】:

    • 谢谢...您的回答都是“是”,除了一个,如果我们将构建操作设置为“内容”并将输出目录设置为始终复制,它实际上会复制 bin 目录中的图像。但它无法读取图像。
    • 那么你得到一个 bin/Resources/form1.ico 文件了吗?
    • 只有当我设置内容并始终复制时才可以。但是为什么 XAML 无法读取它?
    • 对不起...您将图标的路径更改为我上面的建议?
    猜你喜欢
    • 2019-08-13
    • 2012-04-12
    • 1970-01-01
    • 2018-05-21
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    相关资源
    最近更新 更多