c# - 向 WPF 应用程序添加资源会导致生成错误
问题描述
我正在阅读《Head First C#》一书,并且在向窗口添加资源时一直遇到问题。这是我在添加新资源时创建的任何新 WPF 应用程序的 100% 可重复错误。解决此问题的唯一方法是注释掉资源、构建和取消注释,如下面的 MVCE 中所述。包括图像以证明这不是假设或理论场景。
添加资源文件并在 WPF 项目中使用它的正确步骤是什么?
我正在使用Visual Studio Community 2017:版本 15.9.9 目标框架:.NET Framework 4.6.1
MVCE:
创建一个新的 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; } } }
在 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>
尝试构建。错误“XML 命名空间‘clr-namespace:XAMLBuildErrorExample’中不存在标记‘MyDataClass’。第 11 行位置 10。”:
注释掉资源。构建成功:
取消注释资源。构建成功而之前失败:
由于第一个图像中的错误,任何后续的解决方案清洁都会使构建变得不可能。
解决方案
看来问题与初始计算机有关。
在另一个工作站 VS Community 2017 版本 15.9.11 上测试,构建成功,没有任何问题。构建>清理>构建没有问题。
推荐阅读
- android - 如何使用 Kotlin Android Studio 中的 SharedPreferences 保存从 API 获取的数据
- python - 如何获取n维嵌套列表的元素的索引
- mongodb - 我们如何覆盖 mongoDB 中的默认索引限制?
- javascript - 为什么Angular将成功的http post请求的结果显示为“未定义”
- php - 确保 SoapClient 在 PHP 5.5 中发送 TLS 1.2 请求
- php - 修复“未找到域”错误是否需要 G-Suite 帐户
- c# - ExecuteReader 超时
- java - 如何在excel中获取最大列数的行
- c# - 如何在xml列表框中为单个选定索引保存文本框中的项目并加载这些数据?C#
- mongodb - Rocketchat 连接以保护 MongoDB