gpt4 book ai didi

c# - 如何在一个解决方案中的项目之间使用共享资源文件?

转载 作者:IT王子 更新时间:2023-10-29 04:47:15 30 4
gpt4 key购买 nike

资源文件有问题。

我有两个项目的解决方案。第一个项目包含包含我使用的图像的 ImageResource.resx 文件。此项目中的每个 Form 都可以从设计器访问此文件。但我可以在设计器 ImageResource.resx 文件中看到从第二个项目使用它(存在对第二个项目的引用)。

我已添加 ImageResource.resx 文件作为指向我的第二个项目的链接。我在设计师身上看到了!但是,当我在第二个项目中使用此资源中的图像时,Visual Studio 修改了我的原始文件(它设置了命名空间,以及其他..),我的解决方案中断了。 Visual Studio 还告诉我 ImageResource.resx 存在于两个 dll 的 first_project.dllsecond_project.dll

谁能帮我解决如何在项目之间正确使用共享资源?

最佳答案

  1. 共享资源的正确方法是创建一个全局共享项目。创建一个名为 Resources 的新项目:

Solution Explorer, showing an example solution, which contains a project named *Resources*

  1. 接下来我们必须向项目添加一些资源(例如图标)。像往常一样这样做。转到项目设置,选择标签 ResourcesAdd Existing File... 到项目。我们可以看到图标被添加到项目中,并被复制到本地文件夹中:

For example, the Resources project's Resources tab shows a picture of a puppy, and the Solution Explorer shows that the Resources project's Resources folder includes the picture of the puppy

  1. 下一步是将此图标添加到其他项目。请注意重要的区别,您需要将此图标添加为链接!

    添加为链接可避免资源重复。在同一解决方案中创建一个新项目并将其命名为例如主要。在这个新项目中创建一些文件夹,将其命名为 Resources(符合我们目的的逻辑名称)。然后右键单击此文件夹,选择添加现有项目... 并从共享项目文件夹中选择图像文件。请务必在此处使用添加为链接!如果操作正确,新添加文件的图标看起来会略有不同(见下文):

In the *Add Existing Item* dialog, choose the *Add As Link* option from the *Add* button's drop-down list

添加资源的图标必须是这样的

In Solution Explorer, the Main project's icon for the puppy Resource has an arrow on the icon, whereas the Resources project's icon for the puppy Resource does not have an arrow on the icon

  1. 现在我们必须将此文件的构建操作设置为。为此,选择文件并转到属性 窗口。为 Build Action 选择None。我们需要这样做以避免将此图标嵌入到程序集中:

In Solution Explorer, change the *Main* project's puppy resource's properties. Choose a Build Action of *None*

  1. 最后我们需要将链接文件添加到相应项目的资源中。打开我们刚刚添加文件的项目的项目Properties。选择资源选项卡并将链接的文件拖到那里:

Drag the linked image from the Solution Explorer's *Main* project's resources to the *Main* project's resources tab's viewing pane

这些是在项目之间共享图标必须执行的五个简单步骤。你可能会问“这样做有什么好处?”好处是:

  • 我们将资源存储在一个地方,并且
  • 用新图标替换图标很容易。

关于c# - 如何在一个解决方案中的项目之间使用共享资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995315/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com