在xaml
文件中,namespace
如下:
xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
麻烦的是,对于Visual Studio 2015,它将是(注意不同的assembly
)
xmlns:vsp="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
有没有办法有条件地提供xmlns或有条件地提供assembly
名称?或者有另一种方法可以做到这一点?
P.S。我重写了整个问题,因为我意识到我对XmlnsDefinitionAttribute
的理解是错误的。这必须在'引用'程序集AssemblyInfo.cs
中进行,并且在此问题的上下文中,我们无法访问引用程序集的AssemblyInfo.cs
。
答案 0 :(得分:2)
我能让它工作的唯一方法就是为EnvironmentColors
创建自己的包装器(这是我在xaml
中使用的唯一类)。
在包装器中,我创建的属性仅适用于我正在使用的属性(大约8个):
public static class EnvironmentColorsWrapper
{
public static ThemeResourceKey AccentBorderBrushKey
{
get
{
return EnvironmentColors.AccentBorderBrushKey;
}
}
}
此EnvironmentColorsWrapper
用于xaml
文件。
Microsoft.VisualStudio.Shell.14.0
& Microsoft.VisualStudio.Shell.15.0
文件中有条件地引用了csproj
。
如果其他人发布更好的方法来做到这一点,我会接受它,否则会接受这个作为答案。