3

我創建了一個新的VSIX項目,並增加了新的項目 - >擴展 - >自定義工具窗口VS2015 VSIX的System.OutOfMemoryException

然後我試圖建立,但它給了一個錯誤:

1>------ Build started: Project: JSBQ, Configuration: Debug Any CPU ------ 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: The "VSCTCompiler" task failed unexpectedly. 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: System.OutOfMemoryException: Out of memory. 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
    at Microsoft.VisualStudio.CommandTable.BitmapItem.Read(TextReadVSCTCStream s, XmlElement itemNode) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
at Microsoft.VisualStudio.CommandTable.ItemList.Read(TextReadVSCTCStream s, XmlElement listNode) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: at Microsoft.VisualStudio.CommandTable.CommandTable.ReadCMDSSection(TextReadVSCTCStream s, XmlElement listNode) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018:  
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(TextReadVSCTCStream s) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(String fileName, ReadOptions ro, IMessageProcessor errorProcessor) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018:  
at Microsoft.VisualStudio.CommandTable.CommandTable.Read(String fileName, IMessageProcessor errorProcessor) 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
at Microsoft.VisualStudio.CommandTable.Compiler.Compile() 
1>E:\JSBQ\packages\Microsoft.VSSDK.BuildTools.14.2.25123\tools\VSSDK\Microsoft.VsSDK.Common.targets(126,5): error MSB4018: 
at Microsoft.VisualStudio.CommandTable.VSCTCompiler.Execute() 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Severity Code Description Project File Line Column Suppression State 
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() JSBQ 

我沒有編輯任何代碼,所以爲什麼我得到這個錯誤?

操作系統:Windows 10
編輯:Visual Studio的2015年
.NET 4.5

回答

3

我也滿足了這個問題。它發生在添加新的工具窗口後。

從異常堆棧中,我發現錯誤是由讀取圖像引起的。所以,我去檢查與工具窗口一起創建的圖像。最後,我發現xxxx.png是一個不好的文件,不能打開。

在package.vsct中刪除xxxx.png和註釋xxxx.png的位圖節點後,VSIX項目成功建立。

+0

您可以從' \ Common7 \ IDE \ Extensions \ g0hz0nxs.4w3 \ ItemTemplates \ CSharp \ Extensibility \ VSPackage \ 1033 \ CSharpCustomToolwindow \ Resources \ Images.png \ – hillin