Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 VS2010到VS2012工具窗口XAML参考VSF_Visual Studio 2010_Xaml_Visual Studio 2012_Vsix - Fatal编程技术网

Visual studio 2010 VS2010到VS2012工具窗口XAML参考VSF

Visual studio 2010 VS2010到VS2012工具窗口XAML参考VSF,visual-studio-2010,xaml,visual-studio-2012,vsix,Visual Studio 2010,Xaml,Visual Studio 2012,Vsix,所以我想我应该把它放在那里,看看我是否遗漏了什么愚蠢的东西 我开发了一个小型的仅限使用的VSIX扩展,在我的一个工具窗口中,我使用代码设置前景/背景颜色: Foreground="{DynamicResource {x:Static vsfx:VsBrushes.ToolWindowTextKey}}" Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}" vsfx:命名空间被

所以我想我应该把它放在那里,看看我是否遗漏了什么愚蠢的东西

我开发了一个小型的仅限使用的VSIX扩展,在我的一个工具窗口中,我使用代码设置前景/背景颜色:

    Foreground="{DynamicResource {x:Static vsfx:VsBrushes.ToolWindowTextKey}}"
    Background="{DynamicResource {x:Static vsfx:VsBrushes.ToolboxBackgroundKey}}"
vsfx:命名空间被引用为:

    xmlns:vsfx="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.10.0"
我看到这里引用了10.0,对我来说,这是我最初在VS2010中所期望的。现在我的工作已经让我升级到VS2012,XAML设计器在这两个资源上给了我以下错误。错误读取为
“无法解析资源{x:Static vsfx:vsbrush.ToolWindowTextKey}”。
以及类似的第二个错误

现在,请注意,该项目仍在构建和运行,并且可以加载到VS2012中。但是,颜色都已关闭(标准,与VS设置的主题不匹配。)

关于检查或寻找什么有什么想法吗

干杯-
Mike.

使用EnvironmentColor类,如下所述:

我遇到了和你们一样的问题,发现了以下事实:

[VsBrush/VsBrush]v.s.[EnvironmentColor]:

  • VsBrush和VsBrush基本相同,支持VS2010/2012/2013
  • EnvironmentColor仅在VS2012/2013中提供,在VS2010中不受支持
  • EnvironmentColors仍在envolling中,将为新主题添加更多颜色;VsBrush/VsBrush是相对静态的
  • [VsBrush]v.s.[VsBrush]:

  • “VSBrush”的好处在于,它检查在构建过程中是否存在特定的颜色名称
  • “VSBrush”的缺点是必须在XAML文件头中指定VS名称空间和程序集版本,这很不方便。(例如xmlns:vsfx=“clr命名空间:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.10.0”)

  • 谢谢。

    您解决了这个问题吗?从技术上讲,没有。我继续在代码中设置了所有资源来解决这个(恼人的)问题。我确信这是我做的事情,但是消息/错误没有给我足够的信息在谷歌上进行可靠的搜索(我做到了。{DynamicResource VsBrush.ToolWindowText}有效。你在VsBrush上不会有任何智能感知,但实际上你只需要使用VsBrush而不是VsBrush,并去掉“Key”后缀。因为它本身就是资源标识符,所以你不需要用{x:Static]来包装它。