【发布时间】: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