C# 为什么找不到我的ViewModel?
为什么VS找不到我的文件 VS错误图像和文本: 严重性代码说明项目文件行抑制状态 错误CS0246找不到类型或命名空间名称“AudioFile”(是否缺少using指令或程序集引用?) 我重新创建了该项目,以查看VisualStudio是否正在做一些我看不到/无法理解的事情,并使用正在工作的代码(正确地查找项并绑定)进行了广泛检查,以查看差异所在。但是我找不到任何线索 编辑:我正在Windows 10周年更新上使用Visual Studio 2015社区版。此外,在以前的项目中,VS在查找和绑定到模型方面没有问题 完整代码如下 重新排序页面C# 为什么找不到我的ViewModel?,c#,data-binding,uwp,uwp-xaml,C#,Data Binding,Uwp,Uwp Xaml,为什么VS找不到我的文件 VS错误图像和文本: 严重性代码说明项目文件行抑制状态 错误CS0246找不到类型或命名空间名称“AudioFile”(是否缺少using指令或程序集引用?) 我重新创建了该项目,以查看VisualStudio是否正在做一些我看不到/无法理解的事情,并使用正在工作的代码(正确地查找项并绑定)进行了广泛检查,以查看差异所在。但是我找不到任何线索 编辑:我正在Windows 10周年更新上使用Visual Studio 2015社区版。此外,在以前的项目中,VS在查找和绑
<Page
x:Class="reOrder.ReorderPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:reOrder"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewModels="using:reOrder.Models"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<ListView Grid.Row="1"
ItemsSource="{x:Bind AudioFiles}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="viewModels:AudioItem">
<StackPanel>
<TextBlock Text="{x:Bind Name}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Page>
在xaml中不使用
using
,而是使用clr命名空间:
。我无法确定您将程序集命名为什么,但我的猜测是:
xmlns:viewModels="clr-namespace:reOrder;assembly=reOrder"
即使在重建解决方案之后,我也遇到了同样的问题。我所做的一个解决方法是在文件资源管理器中转到.csproj文件,现在在itemgroup标记下编辑添加以下内容:
<Compile Include="ViewModels\AudioItemModel .cs">
<DependentUpon>Reorder.xaml</DependentUpon>
</Compile>
Reorder.xaml
保存并关闭它,然后重建它,现在它将检测viewmodel。这是在我将compile target设置为x64之后发生的。
在我将compile重置为任何CPU之前,无法找到我的视图模型。错误文本更改为类似的内容:名称“AudioItem”不存在于名称空间“clr namespace:reOrder;assembly=reOrder”编辑:代码可以使用
使用
,并且这种类型的解决方案在过去对我有效。我正在编写一个教程模板样式的代码。首先,程序集名称正确吗?我说这只是猜测。第二,也许您希望xaml在所有环境中都是一样的?我检查过了,它是重新排序的,我没有更改项目设置中的任何内容,我正在使用Windows 10 AU building for Windows 10。语法怎么会有问题?我提到在此之前的项目正确地找到了类型并绑定到它。谢谢,这就完成了工作!但是你知道为什么会发生这种事吗?我的意思是,即使是新项目也有这个问题。还有,你是从哪里找到这个解决方案的?我自己通过比较其他uwp应用程序的各种.csproj文件解决了这个问题,在这些应用程序中,它检测到了viewmodel,然后发现了这种相似性并解决了它。但由于我只是一个初学者,我不知道为什么会发生这种情况:)
<Compile Include="ViewModels\AudioItemModel .cs">
<DependentUpon>Reorder.xaml</DependentUpon>
</Compile>