2015-11-02 344 views
11

我在我的Windows 10 x64机器上遇到了一个非常奇怪的行为,我的Visual Studio 2013和2015安装:它们不再显示完整“高级保存选项...“编码类型列表,已减少到只有3种可能的选择(请参阅截图#1)。Visual Studio 2015 - 高级保存选项编码类型丢失

截图1: VS2015/VS2013 on Windows 10 - only 3 encoding types available

清单期待含有编码类型,包括UTF-8无BOM其中我使用了很多在很大程度上更广泛的选择:他们都可用VS我安装在我的笔记本电脑上(Windows 8.1 x64,Visual Studio 2013,请参阅截图#2)。

截图2: VS2013 on Windows 8.1 - all encoding types available

任何人都知道为什么发生这种情况,如何解决呢? 在此先感谢。

编辑:所有这些VS版本是社区版,包括笔记本电脑上的一个(它不应该被与构建 - 的CE总是有这些enctypes)。第一个截图的路径已经被我抓住了,它在GUI中显示得很好。

+0

你从第一张截图中划出文件路径吗?这对您没有任何帮助,但Win 7 x64 Enterprise中的Enterprise 2015运行正常。我没有社区版来测试。 – ThisClark

+0

你能提供给我们这个文件的内容吗?这是只有一个特定的文件,或者你遇到多个文件的问题? –

回答

4

Visual Studio似乎使用IMultiLanguage2::EnumCodePages method填充此组合框。它的第二个参数是调用者想要描述的语言ID,VS传递的是0x409(美国英语),我猜是它的语言版本(当你使用VS的本地化版本时,它可能会不同,但是你不需要似乎是这样做的)。当您没有安装美国英语语言包时,该问题将在Windows 10中体现出来。 Windows的早期版本似乎包含每种语言的代码页描述(我尝试过英式英语和波兰语),但我认为Windows 10更加节俭,并且在调用该方法时会返回一个空枚举没有安装的语言包。

TL; DR添加“英语(美国)”语言并通过设置或控制面板安装其关联的语言包。如果有的话,您还可以通过MSDN订阅获得语言包DVD以脱机安装lpksetup工具。

+0

安装了语言包,推出了VS2015,现在它完美的工作。先生:您是男士,非常感谢您的完美解释和建议,这就是为什么我非常喜欢这个地方。 – Darkseal

+0

我们尝试过相同的解决方案,但它看起来像所涉及的机器上没有语言包可用。我们认为Windows的安装已经中断,将会取代它们。无论如何,它看起来好像你的解决方案适用于某些人,所以我授予了赏金。 –

+0

@DaveVandenEynde我无法通过“消费者路由”获得语言包(即,只需在设置或控制面板中下载),因为我的Windows计算机位于具有WSUS的域上,而我不想处理我的管理员 - 你应该尝试脱机安装方法 - 以某种方式获取语言包CAB(我已经从MSDN订阅者下载中获得它)并使用'lpksetup'安装它。 – cynic