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

时间:2008-09-02 09:05:04

标签: c# localization resx

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

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

由于资源文件没有命名空间(至少据我所知),它们不能像常规类一样被访问。

有没有办法在同一个解决方案中引用另一个项目中的resx文件?

3 个答案:

答案 0 :(得分:8)

您可以创建一个类库项目,在那里添加资源文件,然后引用该程序集以获取公共资源。

答案 1 :(得分:5)

之前我使用过这个解决方案,在一个解决方案中的所有项目中共享一个汇编的info.cs文件,我认为这个文件对资源文件起作用。

为每个单独的项目/类库创建链接文件。只有一个副本,每个项目在编译时都会通过链接文件引用代码。它是一种非常优雅的解决方案,可以在不重复代码的情况下解决共享的非公共资源。

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

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

为一个项目文件完成此操作后,您应该可以使用副本和文件。将链接文件粘贴到其他项目,而不必破解csproj。

答案 2 :(得分:4)

有关如何管理此类情况的一些有用建议,请点击此处:

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

相关问题