Вопрос

У меня ранее была подпапка в моем проекте приложений WPF под названием «Controls». Он содержал контроль пользователя WPF. Я решил переместить этот пользовательский контроль в папку «Просмотров». Поскольку исходная папка была пустой, я решил удалить его из проекта.

Потому что пользовательский контроль и папка удаляется, я получаю ошибку компиляции, потому что пользовательский контроль использовал ProjectName.Folder пространство имен и теперь ничего не ссылается на него. Mainwindow.g.cs - какие ссылки ProjectName.Controls в использовании оператора.

Я знаю, что * .g.cs генерируются по VS и не могут быть отредактированы, потому что он будет перезаписан. Что мне делать, чтобы не допустить этого пространства имен записать в файл G.cs? Я пытался убирать свое решение / проект и восстановление, но ничего не работало.

Это было полезно?

Решение

У меня была локальная ссылка на пространство имен контроля в моем XAML-коде (MainWindow.xaml). Я удалил ссылку, очистил проект и произвел успешную сборку.

Другие советы

В вашем файле управления пользователем,

В вашем ClassName.xaml вы должны изменить пространство имен, как показано ниже

<UserControl
    x:Class="YourOldNamespace.ClassName"
    ...
    ...
/>

И в вашем ClassName.xaml.cs вы должны изменить пространство имен, как показано ниже

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

В обоих файлах необходимо заменить YouroldName Seption на некоторые новые новые пространства имен по мере необходимости.

У меня были проблемы с файлами G.cs в моих проектах раньше. Поскольку они автоматически сгенерированы, я склонен просто удалять файл вручную и восстановить.

Не забывайте также, что вы должны проверить, если свойство Action Build при нажатии на пораженный файл XAML установлен на страницу (вместо ресурса). Это полезно знать, когда вы копируете XAML из другого проекта с помощью копирования-пасты, чтобы сэкономить время.

Также посмотрите на App.xaml и все ваши словари ресурсов. По какой-либо причине VS 2012 года заменяют в файлах / «цельное решение». Параметр не нашел старое ссылку на пространство имен в App.xaml, пришлось вручную изменить это. Исправлено это для меня.

Не забудьте изменить файл Generic.xaml тоже,

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top