Почему генерируемый XAML выплевывает пространства имен, которые не запрашиваются? - PullRequest
1 голос
/ 06 апреля 2010

У меня очень простая форма XAML, которая имеет одно определение пространства имен. По какой-то причине, когда Visual Studio обрабатывает этот XAML-файл в своем компоненте .g.cs, в верхней части он помещает кучу определений пространств имен, которые я не просил в XAML, или в коде, и они являются пространствами имен, больше не существует в моем проекте. Таким образом, проект не компилируется.

Почему Visual Studio вставляет произвольное пространство имен "using" в мои сгенерированные файлы XAML .g.cs? Это привело к срыву всего моего проекта. Ни разу этот файл .xaml никогда не ссылался на рассматриваемые пространства имен, поэтому он раздражает вдвойне.

1 Ответ

5 голосов
/ 06 апреля 2010

У меня было такое раньше со мной. На самом деле, несколько раз.

Что я постоянно забывал, так это то, что глубоко внутри моего проекта у меня был небольшой файл с именем XmlnsDefs.cs.

Внутри этого файла у меня были все эти аккуратные определения xmlns:

[assembly: XmlnsDefinition("http://www.HurrDurr.com/2010/Foo", "Foo.Bar")]
[assembly: XmlnsDefinition("http://www.HurrDurr.com/2010/Foo", "Foo.Bar.Baz")]

И каждый из них оказался в виде using в файлах .g.cs моих форм xaml. Это работало отлично, за исключением того, что я реорганизовал некоторые из этих пространств имен. И это сломало выдумку из моей тарелки. Но, как только я исправил свои определения, чтобы соответствовать моим текущим пространствам имен, все было хорошо. Все было хорошо.

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