24

我的资源文件有问题。

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

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

任何人都可以帮助我如何正确使用项目之间的共享资源吗?

4

5 回答 5

39
于 2012-04-26T13:09:25.613 回答
3

这对我不起作用,我找到了另一种(VS2015+)方法。见https://stackoverflow.com/a/45471284/4151626

简而言之,共享项目直接包含在外围项目中。因此,即使 IDE 不支持<Resource>共享项目中的元素。 <Resource>可以通过文本编辑器将元素添加到共享项目中。然后在构建期间将它们合并到外围项目中。

(为超链接道歉。为了清楚起见,我只想重新发布答案,但stackoverflow编辑对此进行了严厉打击,删除了重复的答案以使您免于???。)

于 2017-08-02T21:52:17.527 回答
1

您可以使用符号链接将文件共享到多个文件夹中吗?

视窗:

mklink linked_location\ImageResource.resx original_location\ImageResource.resx


C:\Users\preet>mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.
于 2010-10-22T09:06:10.223 回答
1

如果一个资源文件真的在项目之间共享,你应该把它放在一个共享项目中。

Solution 'Sample'
   Project Sample.Data
   Project Sample.Business
   Project Sample.UI
   Project Sample.Resource   //shared resources are put in a shared project  
于 2010-10-22T09:06:28.457 回答
0

如果资源不是公开的,则看不到资源,默认设置为“朋友”。您可以在可视化设计器(右上角)中设置“访问修饰符”。

于 2011-05-19T07:44:19.790 回答