У меня есть небольшое приложение WPF, которое раньше прекрасно компилировалось, но теперь его нет. Я не могу точно сказать, в какой момент он прекратил строительство. Просто однажды он работал нормально, а на следующий - нет.
Вот структура проекта:
Нет других проектов или внешних ссылок, кроме стандартных .net dll.
Вот пользовательский элемент управления, в котором возникла проблема:
<UserControl x:Class="TimeRecorder.HistoryUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TimeRecorder.ViewModel"
xmlns:framework="clr-namespace:TimeRecorder.Framework"
mc:Ignorable="d" Height="Auto" Width="Auto" Padding="5">
<UserControl.Resources>
<local:HistoryViewModel x:Key="ViewModel"/>
<framework:BoolToColorConverter x:Key="ColorConverter"/>
</UserControl.Resources>
<StackPanel DataContext="{StaticResource ViewModel}">
И вот ошибка, которую я получаю:
Обратите внимание, что это не только один файл на снимке экрана, но и все ссылки, которые я добавляю аналогичным образом в xaml во все файлы пользовательских элементов управления / окон в этом проекте.
Итак, файл есть, пространство имен в файле правильное, пространство имен / имя класса в файле xaml (насколько я понимаю) правильное. Я получаю intellisense, когда набираю xaml, поэтому он находит файлы в порядке, но не при компиляции.
Наиболее распространенным решением для этого в других сообщениях была версия .NET Framework. В настоящее время для моего основного и тестового проекта установлено значение .Net Framework 4. Полная версия, а не профиль клиента.
Вот что, как мне кажется, я напутал: в диспетчере конфигурации у обоих проектов платформа установлена на Any CPU, но в какой-то момент, пытаясь решить эту проблему, я заметил, что основной проект был установлен на x86, а тестовый проект был установлен на Any ПРОЦЕССОР. Поэтому я вручную добавил Any CPU для основного проекта в диспетчере конфигурации. Однако я, честно говоря, не знаю, правильно ли я сделал или даже должен ли я это сделать. Итак, в качестве дополнительного вопроса, есть ли способ сбросить диспетчер конфигурации до состояния по умолчанию? Будет ли это что-нибудь сказать о главной проблеме? Я не знаю, был ли основной проект всегда установлен на x86 или нет, или я как-то изменил его на x86, а затем он сломался. Как уже упоминалось, этот проект некоторое время компилировался нормально.