Добавление ресурса в приложение WPF приводит к ошибке сборки - PullRequest
7 голосов
/ 02 апреля 2019

Я работаю над книгой Head First C # и постоянно сталкиваюсь с проблемами при добавлении ресурсов в окно. Это 100% повторяющаяся ошибка в любом новом приложении WPF, которое я создаю при добавлении нового ресурса. Единственный способ обойти это - закомментировать ресурс, сборку и раскомментирование, как подробно описано в 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. Попытка построить. Ошибка "Тег 'MyDataClass' не существует в пространстве имен XML 'clr-namespace: XAMLBuildErrorExample'. Строка 11, позиция 10.":

    enter image description here

  4. Закомментируйте ресурс. Сборка завершена успешно:

    enter image description here

  5. Раскомментировать ресурс. Сборка завершается успешно, тогда как раньше она не выполнялась

    enter image description here

  6. Любая последующая очистка раствора делает невозможным строительство из-за ошибки на первом изображении.

1 Ответ

1 голос
/ 26 апреля 2019

Кажется, проблема связана с исходным компьютером.

Протестировано на другой рабочей станции VS Community 2017 версии 15.9.11, и сборка прошла без проблем. Сборка> Очистить> Сборка без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...