簡體   English   中英

構建Wix項目時出現System.OutOfMemoryException錯誤

[英]System.OutOfMemoryException error while building Wix Project

我安裝了隨Wix 3.9.1208.0安裝的Visual Studio 2012 我試圖通過BootStrapper Project創建一個Bootstrapper 這是Bundle.wxs的代碼。

<?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="2015@Company 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>

每當我嘗試構建Bootstrapper項目時,我都會收到錯誤,因為exception of type 'System.OutOfMemoryException' was thrown並且在文件light.exe並且構建失敗。

我有一個Core i3處理器和4GB內存,在構建項目時,VS使用了近2GB的RAM和系統部分無響應,直到我關閉Visual Studio。 停止構建過程不會釋放獲取的內存。

誰能幫我嗎 ?

不幸的是,我認為這只是因為計算機無法處理Visual Studio正在嘗試的所有事情。 我遇到了同樣的問題,只有在獲得具有更多RAM的新計算機時才會消失。

說明

在RAM用完之前退出的原因是個別進程想要在啟動時分配特定數量的內存(當你進行構建時,很多進程啟動,都要求內存)但是當有沒有足夠的內存來分配請求,系統拋出異常。

並且您可能看不到錯誤消息時內存已完全耗盡,因為請求大於您可用的請求,因此它沒有分配內存,因此它仍然可用。

(您可以查看MSDN以查看計算機如何分配內存。)

並且在異常之后“停止構建”不必“停止構建”。 啟動構建時啟動的許多進程可能仍在運行。

根據經驗,每當出現內存不足異常時,您需要關閉並重新打開應用程序。 在你這樣做之前它不會表現得很好。

值得注意的是,如果你運行32位,只能訪問3GB的RAM。

這是我的舊32位4GB計算機的圖片,在Visual Studio中打開了一個項目。 注意Available內存僅為827 MB。

在此輸入圖像描述

現在想象一下構建項目時所有嘗試獲取更多內存的進程。

對於我來說,從4GB of RAM with a 32-bit processor16GB of RAM with a 64-bit processor完全解決了我的所有性能和內存問題。

你的IconSourceFile是一個png ,應該是一個ico 這會導致light.exe拋出System.OutOfMemoryException

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM