2015-07-21 130 views
4

我安装了Visual Studio 2012,安装了Wix 3.9.1208.0。我正尝试以BootStrapper Project创建Bootstrapper。这里是Bundle.wxs中的代码。构建Wix项目时出现System.OutOfMemoryException错误

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"> 
<Bundle IconSourceFile="D:\logo.png" Copyright="[email protected] Name" Name="Product Name" Version="1.0.0.0" Manufacturer="Company Name" UpgradeCode="ef645195-36e9-4b99-8374-86f8445714d8"> 
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"> 
     <bal:WixStandardBootstrapperApplication 
     LicenseFile="D:\License.rtf" 
     ShowVersion="yes" 
     /> 
    </BootstrapperApplicationRef> 

    <Chain> 
    <ExePackage Id="Framework" Name="Microsoft .NET Framework 4.5.1 Setup" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q" SourceFile="D:\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"/> 
    <ExePackage Id="SQLCompact" Name="Microsoft SQL Compact 4.0 Setup" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q" SourceFile="D:\SSCERuntime_x86-ENU.exe"/> 

    <MsiPackage Id="CRRuntime" Name="Crystal Report Runtime" Cache="no" Compressed="yes" Permanent="yes" SourceFile="D:\CRRuntime_32bit_13_0_13.msi" Vital="yes" /> 
    </Chain> 
</Bundle> 

每当我尝试建立引导程序项目,我得到错误的exception of type 'System.OutOfMemoryException' was thrown和文件light.exe和构建失败。

我有一个Core i3处理器和4GB内存,并在构建项目时,使用几乎2GB内存和系统的VS部分无响应,直到关闭Visual Studio。停止生成过程不会释放获取的内存。

任何人都可以帮我吗?

回答

1

不幸的是,我认为这只是归结为计算机无法处理Visual Studio正在尝试执行的所有操作。我遇到了同样的问题,只有当拥有更多RAM的新计算机才会消失。

说明

的RAM,使用起来是个人的过程要在启动时分配的内存特定的量(当你做一个构建之前它退出的原因,很多的流程开始所有请求内存),但是当没有足够的内存分配请求时,系统会抛出异常。

而且在错误消息发生时您可能看不到完全用完的内存,因为请求比您可用的内存大,所以它没有分配内存,因此它仍然可用。

(你可以看看MSDN看电脑如何分配内存。)

而且异常后“停止构建”并不需要“停止建设。”开始编译时启动的许多进程可能仍在运行。

作为一个经验法则,无论何时出现内存不足异常,您都需要关闭并重新打开应用程序。直到你这样做,它才会正常工作。

还值得注意的是,如果您运行的是32位,则只能访问3GB的RAM。

下面是我的旧32位4GB计算机的图片,其中有一个在Visual Studio中打开的项目。注意Available内存只有827 MB。

enter image description here

现在想象所有想尝试当我生成项目抢到更多的内存的进程。

对于我从4GB of RAM with a 32-bit processor16GB of RAM with a 64-bit processor完全解决了我所有的性能和内存问题。

0

您的IconSourceFilepng,应该是ico。这导致light.exeSystem.OutOfMemoryException

相关问题