Удалить старое пространство имен из файла g.cs? - PullRequest
8 голосов
/ 17 ноября 2010

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

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

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

Ответы [ 6 ]

11 голосов
/ 17 ноября 2010

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

5 голосов
/ 18 ноября 2010

В вашем пользовательском управляющем файле

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

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

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

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

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

1 голос
/ 20 сентября 2013

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

1 голос
/ 02 февраля 2012

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

1 голос
/ 17 ноября 2010

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

0 голосов
/ 08 августа 2014

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

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
...