繁体   English   中英

XAML-引用另一个程序集资源,而不将程序集添加为引用

[英]XAML - Referencing another assemblies resources, without adding the assembly as a reference

我在同一文件夹中有两个Assembly,AssemblyOne和AssemblyTwo。 我正在尝试在AssemblyTwo中的AssemblyOne中使用资源文件,但是由于存在类似的依赖关系,因此无法在AssemblyTwo中添加对我的引用列表的直接引用。

我已经在AssemblyTwo中尝试过类似的事情;

 <ResourceDictionary Source="pack://application:,,,/AssemblyOne;component/Properties/Resources.resx" />

甚至直接链接到文件本身;

 <ResourceDictionary Source="..\..\AssemblyOne\Properties\Resources.resx" />

两者都不成功,前者返回错误;

Assembly 'AssemblyOne' is not referenced in this project.

正如预期的那样,未引用它,后者返回错误,即找不到指定的路径。

有没有办法做我所追求的。 对不起,如果我的解释不清楚。

选项1:

您可以将文件添加为AssemblyOne 的链接 ,并像内部资源一样使用它。 这维护了文件的一个源,但是两个项目都使用它。 这更多的是解决问题的“简便方法”。

选项2( 首选 ):

只需创建一个包含共享资源的新项目(例如Assembly.Shared),然后在AssemblyOne和AssemblyTwo中引用该新项目或.dll。 这是许多循环依赖情况的通用解决方案。 您可以执行此操作以共享代码,资源等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM