Возникли проблемы с отладкой и сборкой приложения WPF

#wpf #visual-studio-2017 #modern-ui #visual-studio-2019

#wpf #visual-studio-2017 #modern-ui #visual-studio-2019

Вопрос:

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

 System.Windows.Markup.XamlParseException
  HResult=0x80131501
  Message='Provide value    on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception.' Line number '7' and line position '19'.
  Source=PresentationFramework
  StackTrace:
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at LRAT.MainWindow.InitializeComponent() in D:SrcLRATLabor Relations Action Tracker (LRAT)LRATLRATMainWindow.xaml:line 1

Inner Exception 1:
IOException: Cannot locate resource 'assets/14546169_s-01.ico'.
  

Я искал по всему проекту. В паре современных окон было два места, в которых этот файл .ico содержал значение свойства Icon. Однако я изменил его так:

 <mui:ModernWindow x:Class="LRAT.MainWindow"                  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:mui="http://firstfloorsoftware.com/ModernUI"
              xmlns:view="clr-namespace:LRAT.View"
              xmlns:uc="clr-namespace:LRAT.UserControls"
              Style="{StaticResource BlankWindow}"    
              Closing="ModernWindow_Closing"
              Icon="/Assets/14546169_S-01.ico" 
              Loaded="ModernWindow_Loaded" 
    >
  

Итак, я не знаю, где еще искать, поскольку поиск по всему решению не показал ничего похожего на assets/14546169_s-01.ico, тогда как я изменил 2 файла .xaml на /assets/14546169_s-01.ico .

Если я попытаюсь его собрать, остальное будет еще более странным. Все, что мне говорит, это

 Unknown build error, 'An item with the same key has already been added.'
  

Единственное, что в нем говорится, это то, что проблема заключается в проекте LRAT. Файл не указан.

Мы начали этот проект с VS 2017. Я получаю там ошибки. И я тоже получаю их с VS 2019.

Комментарии:

1. Трудно сделать это хуже, чем вообще не компилировать. Попробуйте просто полностью удалить любую строку Icon =. Это будет искать ico в основном решении для ввода, поскольку это не URL-адрес пакета. Это там? В папке assets? Проверьте свойства, которые вы хотите, чтобы ресурс сборки не копировался. Где другие ссылки на файлы xaml, которые ico — это в общем проекте? Вы получаете эту ошибку при запуске? При запуске загружается только mainwindow?

2. Удаление назначения файла ico из файлов 2 XAML изменило его. Я все еще не могу выполнить отладку (все еще получаю сообщение об ошибке «элемент с тем же ключом уже добавлен»). Но, похоже, я могу его создать. Файл .ico находится в папке Assets основного проекта, а не в общем проекте. При запуске в mainwindow, когда я пытаюсь выполнить отладку, возникает ошибка. Не понимаю, почему вы предлагаете изменить копию .ico на Output; Я думаю, это именно то, что я хотел бы сделать. Однако в настоящее время установлено значение Не копировать.

3. Стержень. Я сказал не копировать.

4. Как я уже сказал, для файла .ico уже установлено значение «Не копировать».