将Visual Studio资源文件放在“资源”以外的文件夹中?

时间:2011-02-01 09:42:53

标签: c# winforms visual-studio resources

我有一个名为rs.resx的资源文件。在Visual Studio设计器中,我可以通过单击“添加资源”并指定图像文件的路径,将图像添加到我的资源文件中。

添加图像后,图像文件本身也会复制到名为Resources的Visual Studio解决方案中的文件夹中。我希望将所有图像文件放在名为Images的文件夹中。这可能吗?

2 个答案:

答案 0 :(得分:5)

这有点棘手,但有可能。

VS检查添加到资源的文件是否已在项目中的某个位置定义。如果找不到它,它会创建文件夹Resources,将副本放到那里的文件中,将该文件添加到项目中,并将资源设计者的引用放到文件的这个新副本中。

要避免此行为,您应该将文件添加到项目,然后再将添加到资源文件中。如果文件不在项目结构中的某个位置,您只需创建一个文件夹,右键单击它,选择添加文件,然后再单击OpenFileDialog的添加按钮,按下按钮旁边的小箭头,然后选择添加为链接

现在,如果您现在在资源设计器中添加文件,则文件驻留在硬盘上的任何位置,资源设计器不会在项目文件中创建副本。

也许这张小图片有助于找到添加为链接按钮: Add as link http://www.modbusdriver.com/appnotes/images/addaslink.png

答案 1 :(得分:2)

这只是项目目录的子目录。您的程序在运行时不使用它,它应该使用嵌入的资源。您添加到.resx文件的任何内容都会被复制到那里,而不仅仅是图像。但您可以根据需要重命名该文件夹,右键单击该文件夹并单击“重命名”。

我建议您使用现有文件,而不是将.resx文件添加到项目中。 Project + Properties,Resources选项卡。这使得在运行时检索资源非常容易,只需在代码中使用Properties.Resources.Something。