Tôi có một ứng dụng WPF nhỏ được sử dụng để biên dịch tốt nhưng không còn nữa. Tôi thực sự không thể nói nó ngừng xây dựng vào thời điểm nào. Nó chỉ hoạt động tốt một ngày, và ngày hôm sau thì không.
Đây là cấu trúc dự án:
Không có dự án hoặc tài liệu tham khảo bên ngoài nào khác ngoài .net dlls tiêu chuẩn.
Đây là quyền kiểm soát của người dùng nơi bắt nguồn sự cố:
<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}">
Và đây là lỗi tôi nhận được:
Xin lưu ý rằng đây không chỉ là một tệp trong ảnh chụp màn hình, mà tất cả các tham chiếu tôi thêm theo kiểu tương tự trong xaml trong tất cả các tệp điều khiển / cửa sổ của người dùng trong dự án này.
Vì vậy, tệp ở đó, không gian tên trong tệp là chính xác, không gian tên / tên lớp trong tệp xaml (theo sự hiểu biết của tôi) chính xác. Tôi nhận được intellisense khi tôi nhập xaml để nó tìm thấy các tệp ổn sau đó nhưng không phải khi nó biên dịch.
Giải pháp phổ biến nhất cho vấn đề này trong các bài viết khác là phiên bản khung .net. Nó hiện được đặt thành .Net Framework 4 cho cả dự án chính và dự án thử nghiệm của tôi. Phiên bản đầy đủ không phải là hồ sơ khách hàng.
Đây là những gì tôi nghĩ rằng tôi đã nhầm lẫn : Trong trình quản lý cấu hình, cả hai dự án đều đặt Nền tảng của họ thành Bất kỳ CPU nào, nhưng tại một thời điểm khi cố gắng giải quyết vấn đề này, tôi nhận thấy rằng dự án chính được đặt thành x86 và dự án thử nghiệm được đặt thành Bất kỳ CPU. Vì vậy, tôi đã thêm Bất kỳ CPU nào theo cách thủ công cho dự án chính trong trình quản lý cấu hình. Tuy nhiên, tôi thực sự không biết liệu tôi đã làm điều này đúng hay thậm chí tôi có nên làm điều đó hay không. Vì vậy, là một câu hỏi bổ sung, có cách nào tôi có thể đặt lại trình quản lý cấu hình về trạng thái mặc định của nó không? Điều này sẽ có bất cứ điều gì để nói cho vấn đề chính? Tôi không biết có phải dự án chính luôn được đặt thành x86 hay không hoặc bằng cách nào đó tôi đã thay đổi nó thành x86 và sau đó nó bị hỏng. Như đã đề cập, dự án này đã được biên dịch tốt trong một thời gian.