XAML XMLNS: локальный C # - PullRequest
6 голосов
/ 06 июня 2011

Я работаю над учебником MVVM, и у меня есть следующий код, написанный на Xaml:

<Window x:Class="WPFMVVM.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPFMVVM; assembly=WPFMVVM"
    Title="MainWindow" Height="388" Width="545">

В строке xmlns: local сообщается, что на сборку WPFMVVM нет ссылки. Хотя это сборка, в которой я работаю.

Кто-нибудь знает почему?

Спасибо

Ответы [ 4 ]

12 голосов
/ 06 июня 2011

Там не должно быть пробелов, и если вы работаете с сборкой , просто не указывайте assembly.

xmlns:local="clr-namespace:WPFMVVM"

Параметр assembly предназначен для ссылочные сборки .Также см. Статью MSDN о пространствах имен XAML .

сборка может быть опущена, если упомянутое пространство имен clr определено в той же сборке, что и код приложения, ссылающийся на пользовательскийклассы.Или эквивалентный синтаксис для этого случая заключается в указании ассемблера = без строкового токена после знака равенства.

4 голосов
/ 28 марта 2012

Не уверен, поможет ли это или нет, но у меня была та же проблема, и мне удалось исправить ее в двух разных проектах.Я щелкнул правой кнопкой мыши по проекту и нажал кнопку сборки.После завершения сборки ошибки исчезли.Я не эксперт по xaml или что-то в этом роде, но, глядя на код, он говорит: xmlns: myns = "clr-namespace: Someorother"Если это пространство имен clr, то для его существования оно должно быть скомпилировано.

2 голосов
/ 07 января 2014

Существует известная проблема.Вы работаете на 64-битной машине.Просто установите конфигурацию сборки x86 в процессе разработки.

2 голосов
/ 29 января 2013

В конструкторе xaml есть ошибка.При первой попытке сборки из-за сбоя создаются не все требуемые файлы в debug \ obj.При второй попытке сборки в debug \ obj создается больше файлов, но не все, что требуется для xaml.Если вы соберете третий раз, то все файлы, которые должны находиться в debug \ obj, наконец-то будут созданы, и xaml скомпилируется.

Именно поэтому при очистке или перестройке решения проблема появляется сновавы строите / строите решение.

Это проблема, только когда пространство имен находится в той же сборке, что и xaml.Если пространство имен находится в другой сборке, а другая сборка существует, вы получите успешную сборку.Если другая сборка не существует, то, очевидно, сборка не удастся.

...