我正在研究传统产品。我需要根据构建常量使复杂UI的区域可选。将这些区域移动到控件中是不可行的,因此我使用AlternateContent Tags(mc:AlternateContent)。
这在编译时非常有效,应用程序按预期运行。
但是,IDE为每个AlternateContent声明了一个错误,并附上了Choice标签,并且不会加载设计窗口/预览(在VS或Blend中):
The name "AlternateContent" does not exist in the namespace "http://schemas.openxmlformats.org/markup-compatibility/2006"
The name "Choice" does not exist in the namespace "http://schemas.openxmlformats.org/markup-compatibility/2006"
我尝试过,重建,清理和重建,在发布,调试,x86,x64和重新启动之间更改构建设置。什么都没有帮助。它甚至在Blend中给出了相同的错误。
我希望这只是我正在做的蠢事,我可以解决它;或者可能是我应该使用的更新的名称空间URI。如果我无法解决错误,我希望有人知道在IDE中抑制这些错误的技巧,所以可以使用它。
我有一个完全更新的VS2013 Premium安装。然而,它在运行VS14 CTP的测试机器上有一个小故障,另一个运行VS2012(完全更新),两者都没有任何插件;所以我不得不认为我的电脑安装不是问题。
答案 0 :(得分:9)
派对有点晚了,但是如果你将mc标签添加到Ignorable属性中,那么错误就会消失。您的内容不会在设计师中展示,但在我编译项目的不同风格时为我工作。
$ awk '{printf "foo \047%s\047,\047%s\047 bar\n",$3,$4}' file
foo '63823170268','1C:1A:C0:20:07:BD' bar
foo 'C2W0T979L','2C:8A:72:D8:2F:81' bar
foo 'PP2275468','50:EA:D6:AB:61:EE' bar
答案 1 :(得分:0)
这个怎么样:
public class BuildConstants
{
public bool IsDebug
{
get
{
#if DEBUG
return true;
#else
return false;
#endif
}
}
}
和xaml:
<Application.Resources>
<BooleanToVisibilityConverter x:Name="BooleanToVisibilityConverter"></BooleanToVisibilityConverter>
<l:BuildConstants x:Key="BuildConstants" />
</Application.Resources>
<Grid Visibility="{Binding IsDebug, Source={StaticResource BuildConstants}, Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBlock Text="This will be visible only when DEBUG build constant is present"></TextBlock>
</Grid>