XAML XMLNS:本地C#

时间:2011-06-06 14:26:54

标签: c# wpf xaml xml-namespaces

我正在学习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 line抱怨说没有引用WPFMVVM程序集。虽然这是我正在组装的组件。

有人知道为什么吗?

由于

4 个答案:

答案 0 :(得分:12)

你必须没有空格。如果是你在工作的装配,请不要指定assembly

xmlns:local="clr-namespace:WPFMVVM"

assembly参数用于引用的程序集。另请参阅MSDN article on XAML namespaces

  如果引用的clr-namespace与引用自定义类的应用程序代码在同一程序集中定义,则可以省略

程序集。或者,这种情况的等效语法是指定assembly =,在等号​​后面没有字符串标记。

答案 1 :(得分:4)

不确定这是否有帮助,但我遇到了同样的问题,并设法在两个不同的项目上修复它。我右键单击了项目并单击了构建。构建完成后,错误就消失了。我不是xaml专家或任何东西,但看着代码,它说xmlns:myns =“clr-namespace:somethingorother”。如果它是一个clr-namespace,那么必须对其进行编译才能使它存在。

答案 2 :(得分:2)

xaml构建器中存在错误。 在第一次构建时,失败导致并非创建debug \ obj中的所有req文件。 在第二次构建尝试时,会在debug \ _obj中创建更多文件,但并非所有文件都需要用于xaml。 如果你构建了第3次,那么最终将创建应该在debug \ obj中的所有文件,并且xaml将被编译。

这就是为什么当您清理或重建解决方案时,问题会重新出现,直到您构建/构建解决方案。

当命名空间与xaml位于同一程序集中时,这只是一个问题。如果命名空间位于另一个程序集中,并且另一个程序集存在,那么您将获得成功的构建。如果其他程序集不存在,那么显然构建将失败。

答案 3 :(得分:2)

存在已知问题。 您正在使用64位计算机。只需在开发过程中设置x86构建配置即可。