У мене є невеликий додаток WPF, який раніше компілювався просто чудово, але це вже не так. Насправді не можу сказати, з якого моменту він припинив будівництво. Це просто добре працювало один день, а наступного - ні.
Ось структура проекту:
Інших проектів або зовнішніх посилань, окрім стандартних dll-файлів .net, немає.
Ось елемент керування користувача, звідки виникла проблема:
<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 як для мого основного, так і для тестового проекту. Повна версія не профіль клієнта.
Ось, що, на мою думку, я переплутав: у менеджері конфігурацій для обох проектів платформа встановлена на будь-який процесор, але в один момент при спробі вирішити це я помітив, що для основного проекту встановлено x86, а для тестового проекту - будь-який ЦП. Тому я додав будь-який процесор вручну для основного проекту в менеджер конфігурацій. Однак я, чесно кажучи, не знаю, чи правильно я це зробив, чи навіть мав би це робити. Отже, як додаткове запитання, чи є спосіб перезапустити менеджер конфігурацій до стану за замовчуванням? Чи буде це щось сказати для головної проблеми? Не знаю, чи завжди для основного проекту було встановлено x86 чи ні, чи я якось змінив його на x86, а потім він зламався. Як уже згадувалося, цей проект деякий час складався просто чудово.