Подтвердить что ты не робот

Ошибка в файле .g.cs?

Error   1   The type or namespace name 'BreadcrumbLib' could not be found (are you missing a using directive or an assembly reference?) YOU_CAN'T_KNOW_THE_PATH_OR_NAME.g.cs    16  7   someWPFapp

И проблема следующая:

using BreadcrumbLib;

Вчера я удалил этот проект (BreadcrumbLib) из своего решения, и основной проект работал нормально.
Сегодня это не сработает.

Что я могу сделать с этим? Какая часть забытой информации заставляет Visual Studio или какую-либо другую программу создавать файлы .g.cs, размещать там эту ссылку?

4b9b3361

Ответ 1

Попробуйте сделать чистую. Если это не сработает, удалите каталоги bin obj в своем решении, а затем выполните полную перестройку. Убедитесь, что ни один из ваших файлов XAML не ссылается на этот компонент (это то, что генерирует файл .g.cs).

Ответ 2

Файлы .g.cs в моих проектах обычно генерируются из Xaml.

Убедитесь, что BreadcrumbLib не ссылается на ссылки xmlns в любом из ваших файлов Xaml.

Ответ 3

Это случилось со мной, потому что я переместил часть моего содержимого Xaml в sub userControl в другой папке, и Resharper переместил ссылки Xmlns для меня.

Однако вместо использования ссылки Xmlns, которая использовалась ранее (в частности: xmlns: ms = "clr-namespace: Mindscape.WpfElements.Charting; сборка = Mindscape.WpfElements" ), ReSharper заменил ее следующим образом:

xmlns:ms="http://namespaces.mindscape.co.nz/wpf" 

Я заменил неправильную ссылку старым правильным. Это решило проблему для меня.

Ответ 4

Если кто-то, как и я, сталкивается с этой проблемой, то причиной моей проблемы является то, что мой словарь ресурсов "GlobalStyles.xaml" ссылался на удаленный файл namesapce, и по какой-то причине он появился в качестве включения в MainWindow.g..cs файл. Удаление ссылки в файле словаря ресурса исправлено.

Ответ 5

У меня была аналогичная проблема, но моя проблема заключалась в том, что я удалил пару папок/пространств имен из библиотеки интерфейса WPF и забыл удалить соответствующие записи XmlnsDefinition из файла AssemblyInfo.cs библиотеки. У меня были все они, указывающие на " http://schemas.foo.com/ui", чтобы упростить ссылку в .xaml файлах, например:

[assembly: XmlnsPrefix("http://schemas.foo.com/ui", "ui")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.Behaviors")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.Converters")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.Commands")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.ViewModels")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.UserControls")]
[assembly: XmlnsDefinition("http://schemas.foo.com/ui", "Foo.UI.Common.Extensions")]

в AssemblyInfo.cs и:

xmlns:ui="http://schemas.foo.com/foo/ui/"

в MainWindow.xaml.

Я удалил ViewModels и Commands, но забыл удалить атрибуты [assembly:], поэтому он искал их, когда я перестраивал. Удалены оскорбительные строки, et voila.

Понял, что я бы поделился для всех, кто делал такие вещи, и мог бы почесывать их головы.