引用解决方案中多个项目的资源文件

时间:2020-03-05 18:46:19  来源:igfitidea点击:

我正在为包含多个项目的asp.net应用程序进行本地化。

为此,其中一些项目中使用了一些字符串。自然,我希望每个项目中只有一个资源文件副本。

由于资源文件没有名称空间(至少据我所知),因此无法像常规类一样访问它们。

在相同的解决方案中,是否有任何方法可以引用另一个项目中的resx文件?

解决方案

回答

有关如何处理此类情况的一些有用建议,可在此处找到:

http://www.codeproject.com/KB/dotnet/Localization.aspx

回答

我们可以只创建一个类库项目,在其中添加资源文件,然后参考该程序集以获取公共资源。

回答

在解决方案中的所有项目之间共享一个汇编info.cs文件之前,我曾使用过该解决方案,我认为同样的解决方案也可以在资源文件中使用。

创建一个链接文件到每个单独的项目/类库。只会有一个副本,并且每个项目在编译时都会通过链接文件对代码进行引用。这是一种非常优雅的解决方案,无需复制代码即可解决共享的非公共资源。

<Compile Include="path to shared file usually relative">
  <Link>filename for Visual Studio To Dispaly.resx</Link>
</Compile>

将该代码添加到csproj文件的complile项目组中,然后将路径替换为resx文件的实际路径,便可以打开它们。

对一个项目文件完成此操作后,我们应该可以将链接的文件复制并粘贴到其他项目,而无需修改csproj。