[英]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 processor
到16GB of RAM with a 64-bit processor
完全解決了我的所有性能和內存問題。
你的IconSourceFile
是一個png
,應該是一個ico
。 這會導致light.exe
拋出System.OutOfMemoryException
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.