Хук разрешение разрешения сборок и типов, загруженных в контексте Xaml - PullRequest
1 голос
/ 12 октября 2011

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

например, если у нас есть проект с именем "A", которыйявляется зависимостью приложения с именем «MyApplication1», последняя будет использовать сборку «MA1.A», сгенерированную во время сборки;

, если другое приложение «MyApplication2» также имеет зависимость от «A», которую мы преобразуемвывод "A" как "MA2.A" при создании приложения ...

Пока все хорошо.

Теперь мы начинаем использовать WPF инам нужно ссылаться на некоторые типы "A" в Xaml :

xmlns:a="clr-namespace:Some.Name.Space;assembly=A"

Это хорошо во время разработки, но во время выполнения больше не существует сборки "A", но "a"Сборка MA1.A "или" MA2.A ", поэтому происходит сбой приложения.

Есть ли у вас идеи обойти эту проблему, не оказав слишком глубокого влияния на процесс разработки?

Например, загрузка Xaml вручную и установка префикса не является приемлемым решением.

Thзаранее за любую идею.

1 Ответ

2 голосов
/ 12 октября 2011

.NET-среде выполнения необходимо знать, от каких сборок зависит ваша сборка. Вот почему вы ссылаетесь на сборки в коде, чтобы среда выполнения знала, где найти класс (ы).

Если вы решите переименовать классы, вам нужно будет сообщить CLR о действии переименования.

Единственный способ, которым я вижу, - это редактирование исходного кода или перенаправление во время выполнения, но WPF это не нравится

по уважительной причине мы ставим префикс наших сборок

Столько, сколько я хотел бы верить вам; Я настоятельно рекомендую, чтобы вы сохранили имена во время компиляции равными версии во время выполнения. Будет намного легче отлаживать и отслеживать ошибки. Но поскольку вы не упомянули причину, я могу ошибаться здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...