最佳答案
我有一个小的 WPF 应用程序,用于编译只是罚款,但不再是。我不知道它是从什么时候开始停止建造的。前一天还好好的,第二天就不好了。
下面是项目结构:
除了标准的.net dls 之外,没有其他项目或外部引用。
下面是问题产生的用户控件:
<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 时,我会得到智能感知,所以它会找到文件,但是当它编译时就不行了。
其他文章中最常见的解决方案是。网络框架版本。当前设置为。我的主要项目和测试项目的 NetFramework4。完整版本不是客户端配置文件。
我想我搞砸了: 在配置管理器中,两个项目的 Platform 都设置为 AnyCPU,但是在尝试解决这个问题时,我注意到主项目被设置为 x86,而测试项目被设置为 AnyCPU。因此,我在配置管理器中为主项目手动添加了 AnyCPU。然而,我真的不知道我这样做是否正确,甚至不知道我是否应该这样做。因此,作为一个附加问题,是否有一种方法可以重置配置管理器到其默认状态?这对主要问题有什么要说的吗?我不知道是否总是将主项目设置为 x86,或者我以某种方式将其更改为 x86,然后它就坏了。正如前面提到的,这个项目在一段时间内编译得很好。