我正在学习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程序集。虽然这是我正在组装的组件。
有人知道为什么吗?
由于
答案 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构建配置即可。