Невозможно использовать файлы resx, если они находятся в другом проекте - PullRequest
0 голосов
/ 07 ноября 2018

Я разрабатываю приложение WPF в .NET. Я использую много проектов, потому что у него есть общие файлы другого проекта, такие как файлы ресурсов для локализации.

Если файл resx и файл xaml находятся в одном проекте ( Project1.Properties.Resources.resx ), все работает нормально ( Project1.AccountView.xaml )

Working Tree

|-Project1
|         |-Properties
|         |          |-Resources.resx
|         |
|         |-AccountView.xaml
|
|
|-Project2
          | ...


AccountView.xaml

<UserControl ...
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:p="clr-namespace:Project1.Properties">
   ....
   <TextBox Controls:TextBoxHelper.Watermark="{x:Static p:Resources.Username}"/>
</UserControl>

Проблема здесь в том, что у меня есть файлы ресурсов в другом проекте ( Project2.Views.Account.Login.resx ), и я не могу использовать эти файлы в AccountView.xaml ( Помните, что этот xaml находится внутри 'Project1' ) так же, как

Working Tree

|-Project1
|         |
|         |-AccountView.xaml
|
|
|-Project2
          |-Views
                |-Account
                        |-Login.resx


AccountView.xaml

<UserControl ...
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:p="clr-namespace:Project2.Views.Account">
    ...
    TextBox Controls:TextBoxHelper.Watermark="{x:Static Login.Username}"/>
</UserControl>

Ошибка при создании проекта: Имя входа в систему не существует в пространстве имен clr: Project2.Views.Account.

Все файлы resx имеют модификатор общего доступа.

Кто-нибудь знает, как я могу решить эту проблему?

1 Ответ

0 голосов
/ 07 ноября 2018

Объявление пространства имен должно включать название сборки (проекта):

xmlns:p="clr-namespace:Project2.Views.Account;assembly=Project2"
...
TextBox Controls:TextBoxHelper.Watermark="{x:Static p:Login.Username}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...