Ссылки на файлы ресурсов из нескольких проектов в решении

StackOverflow https://stackoverflow.com/questions/39065

  •  09-06-2019
  •  | 
  •  

Вопрос

Я работаю над локализацией для приложения asp.net, которое состоит из нескольких проектов.

Для этого есть несколько строк, которые используются в нескольких из этих проектов. Естественно, я бы предпочел иметь только одну копию файла ресурсов в каждом проекте.

Поскольку файлы ресурсов не имеют пространства имен (по крайней мере, насколько я могу судить), к ним нельзя получить доступ, как к обычным классам.

Есть ли способ ссылаться на файлы resx в другом проекте в рамках того же решения?

Это было полезно?

Решение

Вы можете просто создать проект библиотеки классов, добавить туда файл ресурсов и затем обратиться к этой сборке за общими ресурсами.

Другие советы

Я использовал это решение прежде, чтобы предоставить общий доступ к файлу info.cs для всех проектов решения, и я предположил, что то же самое будет работать с файлом ресурсов.

Создайте связанный файл для каждого отдельного проекта / библиотеки классов. Будет только одна копия, и каждый проект будет иметь ссылку на код через связанный файл во время компиляции. Это очень элегантное решение для решения общих непубличных ресурсов без дублирования кода.

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

добавьте этот код в группу элементов компиляции файла csproj, затем замените пути вашими фактическими путями к файлам resx, и вы сможете их открыть.

После того как вы сделали это для одного файла проекта, вы сможете использовать копию & amp; вставьте связанный файл в другие проекты без необходимости взломать csproj.

Несколько полезных советов о том, как справиться с подобной ситуацией, можно найти здесь:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top