잘 컴파일하는 데 사용되었지만 더 이상 그렇지 않은 작은 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 파일의 네임 스페이스 / 클래스 이름이 (내 이해로는) 정확합니다. xaml을 입력하면 intellisense가 표시되므로 파일을 정상적으로 찾지 만 컴파일 할 때는 찾지 못합니다.
다른 게시물에서 이에 대한 가장 일반적인 솔루션은 .net 프레임 워크 버전입니다. 현재 메인 및 테스트 프로젝트 모두에 대해 .Net Framework 4로 설정되어 있습니다. 클라이언트 프로필이 아닌 정식 버전입니다.
내가 엉망이라고 생각하는 것은 다음과 같습니다 . 구성 관리자에서 두 프로젝트 모두 플랫폼이 Any CPU로 설정되어 있지만이 문제를 해결하려고 할 때 메인 프로젝트가 x86으로 설정되고 테스트 프로젝트가 Any로 설정되어 있음을 알았습니다. CPU. 그래서 구성 관리자의 기본 프로젝트에 대해 모든 CPU를 수동으로 추가했습니다. 그러나 나는 내가 이것을 올바르게했는지 또는 그것을해야하는지에 대해 솔직히 모른다. 추가 질문으로 구성 관리자를 기본 상태로 재설정 할 수있는 방법이 있습니까? 이것이 주요 문제에 대해 말할 것이 있습니까? 주 프로젝트가 항상 x86으로 설정되었는지 여부 또는 어떻게 든 x86으로 변경 한 다음 깨 졌는지 모르겠습니다. 언급했듯이이 프로젝트는 잠시 동안 잘 컴파일되었습니다.