Referencing resource files from multiple projects in a solution

怎甘沉沦 提交于 2019-12-20 10:45:05

问题


I am working on localization for a asp.net application that consists of several projects.

For this, there are some strings that are used in several of these projects. Naturally, I would prefer to have only one copy of the resource file in each project.

Since the resource files don't have an namespace (at least as far as I can tell), they can't be accessed like regular classes.

Is there any way to reference resx files in another project, within the same solution?


回答1:


You can just create a class library project, add a resource file there, and then refer to that assembly for common resources.




回答2:


I have used this solution before to share a assembley info.cs file across all projects in a solution I would presume the same would work fro a resource file.

Create a linked file to each individual project/class library. There will be only one copy and every project will have a reference to the code via a linked file at compile time. Its a very elegant solution to solve shared non public resources without duplicating code.

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

add that code to the complile item group of a csproj file then replace the paths with your actual paths to the resx files and you sould be able to open them.

Once you have done this for one project file you should be able to employ the copy & paste the linked file to other projects without having to hack the csproj.




回答3:


Some useful advice on how to manage a situation like this is available here:

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



来源:https://stackoverflow.com/questions/39065/referencing-resource-files-from-multiple-projects-in-a-solution

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!