2015-11-02 342 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