Ссылки на файлы ресурсов из нескольких проектов в решении
-
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.
Несколько полезных советов о том, как справиться с подобной ситуацией, можно найти здесь: