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