值转换器在C# WinRT应用程序中出现在Intellisense中,但编译器找不到它?

3

我在一个共享项目中有一个值转换器,被我的WinRT应用程序所使用。也就是说,这个转换器位于另一个项目/程序集中,而不是直接使用它的项目里。我已经将另一个项目的命名空间添加到了我的XAML中,而且IDE没有将其标记为未解决:

<UserControl xmlns:CommonConverters="using:Common_WinStore.Converters">

我还为它添加了一个资源条目:

<UserControl.Resources>
    <CommonConverters:DebugBindingConverter x:Key="DebugBindingConverter"/>
</UserControl.Resources>

然而,IDE编辑器报错了CommonConverters:DebugBindingConverter
The name DebugBindingConverter does not exist in the namespace "using:Common_WinStore.Converters"

这真的很恼人,因为当我输入CommonConverters:时,智能感知会在列表中弹出DebugBindingConverter,我使用它来自动完成资源引用。

为什么智能感知可以找到它,但IDE编辑器或编译器却找不到呢?


每次我使用转换器,特别是在WinRT C#应用程序中,都会遇到这个问题,当您运行应用程序时它是否有效? - AymenDaoudi
1个回答

0

我之前也遇到过这个问题。有时候,当你在项目(解决方案)中添加一个新文件但没有保存项目(解决方案)时,智能感知会解析它,但编译器不会编译,因为它还没有包含在项目文件中。因此,保存所有文件应该有所帮助。有时候,重新启动Visual Studio并重新构建项目/解决方案后问题就会消失。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接