環境: VisualStudio 2015 Update 3
新增一個 VSIX 的專案,再新增一個 Custom Tool Window 項目後,
重新建置專案,居然出現 The "VSCTCompiler" task failed unexpectedly. 的錯誤,如下,
Error The "VSCTCompiler" task failed unexpectedly.
System.OutOfMemoryException: Out of memory.
at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement)
at Microsoft.VisualStudio.CommandTable.BitmapItem.Read(TextReadVSCTCStream s, XmlElement itemNode)
at Microsoft.VisualStudio.CommandTable.ItemList.Read(TextReadVSCTCStream s, XmlElement listNode)
at Microsoft.VisualStudio.CommandTable.CommandTable.ReadCMDSSection(TextReadVSCTCStream s, XmlElement listNode)
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(TextReadVSCTCStream s)
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(String fileName, ReadOptions ro, IMessageProcessor errorProcessor)
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(String fileName, IMessageProcessor errorProcessor)
at Microsoft.VisualStudio.CommandTable.Compiler.Compile()
at Microsoft.VisualStudio.CommandTable.VSCTCompiler.Execute()
什麼都沒有做,居然會「Out of memory」,似乎不太可能。
在錯誤中感覺是要讀取 圖檔 "BitmapItem.Read(TextReadVSCTCStream s, XmlElement itemNode)" 所發生的錯誤。
所以開啟 Resources 中的 ToolWindow1Command.png ,居然不能開,如下,
看 vsct 檔中 Bitmap 的設定,他的 png 跟預設的 Custom Command 是一樣的,如下,
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\ToolWindow1Command.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough" />
</Bitmaps>
所以,筆者就新增一個 Custom Command 項目,然後將 ToolWindow1Command.png 刪掉,複製 Command1.png 為 ToolWindow1Command.png 。
然後重新建置就沒有這個問題了。
So... Custom Tool Window 項目 中的 ToolWindow1Command.png 壞了,換一個好的圖檔就可以了哦。
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^