C# xmlns中的条件程序集名称
在C# xmlns中的条件程序集名称,c#,wpf,xaml,C#,Wpf,Xaml,在xaml文件中,名称空间如下所示: xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0" 问题是,对于VisualStudio2015,它将是(注意不同的程序集) 是否有任何方式可以有条件地提供xmlns或有条件地提供程序集名称?还是有别的办法 另外,当我意识到我对xmlnDefinitionAttribute的理解是错误的时,我重写了整个问
xaml
文件中,名称空间
如下所示:
xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
问题是,对于VisualStudio2015,它将是(注意不同的程序集
)
是否有任何方式可以有条件地提供xmlns或有条件地提供程序集
名称?还是有别的办法
另外,当我意识到我对
xmlnDefinitionAttribute
的理解是错误的时,我重写了整个问题。这必须进入“引用”程序集的AssemblyInfo.cs
,在这个问题的上下文中,我们无法访问引用程序集的AssemblyInfo.cs
。我唯一能让它工作的方法是为EnvironmentColor
使用我自己的包装器(这是我在xaml
中使用的唯一类)。
在包装器中,我仅为我正在使用的(大约8个)创建了以下行中的属性:
public static class EnvironmentColorsWrapper
{
public static ThemeResourceKey AccentBorderBrushKey
{
get
{
return EnvironmentColors.AccentBorderBrushKey;
}
}
}
此EnvironmentColorsRapper
用于xaml
文件中
和Microsoft.VisualStudio.Shell.14.0
和Microsoft.VisualStudio.Shell.15.0
在csproj
文件中有条件地引用
如果其他人发布了更好的方法,我会接受,其他人也会接受这个作为答案。以下内容可能会有所帮助:;@ChrisMack谢谢你的想法。但是我认为这不会有帮助,如果你看到我们在xmlns中提供的程序集名称中有硬编码版本,那么我想要的更像是一个条件语句类似于c中的#if。
public static class EnvironmentColorsWrapper
{
public static ThemeResourceKey AccentBorderBrushKey
{
get
{
return EnvironmentColors.AccentBorderBrushKey;
}
}
}