首页 > 解决方案 > 向 WPF 应用程序添加资源会导致生成错误

问题描述

我正在阅读《Head First C#》一书,并且在向窗口添加资源时一直遇到问题。这是我在添加新资源时创建的任何新 WPF 应用程序的 100% 可重复错误。解决此问题的唯一方法是注释掉资源、构建和取消注释,如下面的 MVCE 中所述。包括图像以证明这不是假设或理论场景。

添加资源文件并在 WPF 项目中使用它的正确步骤是什么?

我正在使用Visual Studio Community 2017:版本 15.9.9 目标框架:.NET Framework 4.6.1


MVCE:

  1. 创建一个新的 WPF 应用程序。添加一个类:

    //MyDataClass.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace XAMLBuildErrorExample
    {
        class MyDataClass
        {
            public string Foo { get; set; }
        }
    }
    
  2. 在 MainWindow.xaml 添加资源

    <Window x:Class="XAMLBuildErrorExample.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:XAMLBuildErrorExample"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Window.Resources>
            <local:MyDataClass x:Key="exampleResource" />
        </Window.Resources>
    
        <Grid>
    
        </Grid>
    </Window>
    
  3. 尝试构建。错误“XML 命名空间‘clr-namespace:XAMLBuildErrorExample’中不存在标记‘MyDataClass’。第 11 行位置 10。”:

    在此处输入图像描述

  4. 注释掉资源。构建成功:

    在此处输入图像描述

  5. 取消注释资源。构建成功而之前失败:

    在此处输入图像描述

  6. 由于第一个图像中的错误,任何后续的解决方案清洁都会使构建变得不可能。

标签: c#wpf

解决方案


看来问题与初始计算机有关。

在另一个工作站 VS Community 2017 版本 15.9.11 上测试,构建成功,没有任何问题。构建>清理>构建没有问题。


推荐阅读