Как я могу ссылаться на ресурс (png) из отдельного проекта в том же решении - PullRequest
0 голосов
/ 27 февраля 2020

Мое решение структурировано следующим образом:

  1. Библиотека классов (Имя = Шахматы)
    • Изображения
      • Pawn.png
  2. Проект WPF Core 3.1 (Name = ChessApp)
    • MainWindow.xaml

Я хочу показать пешку. png изображение внутри моего MainWindow.xaml внутри тега изображения. Когда у меня есть файлы изображений в моем проекте WPF, я могу легко ссылаться на них по относительному пути. Когда ресурсы находятся в другом проекте, я не могу это исправить.

Мои изображения в папке Image a имеют действие сборки Resource и всегда копируются в выходной каталог. Проект Шахматы правильно указан внутри ChessApp .

Очевидно, что есть много похожих вопросов, но ни один из ответов не сработал для меня. Все, что я пробовал:

URI: Как использовать ресурсы из другого проекта в WPF?

<Image Source="pack://application:,,,/Chess;Component/Images/Pawn.png"></Image>


Без URI: Как сделать Я использую изображение из другого проекта в своем XAML?

<Image Source="/Chess;Component/Images/Pawn.png"></Image>


Поэтому я не знаю, что делать.

Обходной путь:
Добавить свойство к классу, которое возвращает полный путь к изображению из относительного одного Path.GetFullPath (@"..\..\..\..\Chess\Images\Pawn.png");

1 Ответ

0 голосов
/ 27 февраля 2020

Пробовал это с простой netcoreapp3.1 библиотекой классов.

В то время как в XAML Designer главное окно ChessApp правильно показывает ресурс изображения, я вижу System.Resources.MissingManifestResourceException во время выполнения.

Изменение Свойство Sdk проекта библиотеки классов от

<Project Sdk="Microsoft.NET.Sdk">

до

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

решило проблему.

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