將 VS2015 解決方案升級到 VS2019,其中包含 3 個專案:一個大型 vb.net 專案、一個非常小的 CSharp 專案和一個使用 Microsoft Visual Studio 安裝程式專案擴展從早期 VS2015 專案移植過來的安裝專案。
該解決方案成功編譯并構建,但似乎該專案被構建了兩次,結果 setup1.msi 的大小大約是遷移到 VS2019 之前構建的大小的兩倍。
輸出視窗顯示行 -
構建檔案 'D:\Local Git\XXXX\XX\XXXX_GIT_Repository\XXXXX\Setup\Setup1\Release\Setup1.msi'...兩次,似乎所有參考都被復制了兩次。
解決方案配置
除錯(任何 CPU) vb app-x86,c# app-Any cpu,不包括 Setup1
Release(Any CPU) vb app-x86, c# app-Any cpu, Setup1 包括
在 Setup1.vdproj 中,我看到 Debug 設定為 .NETFramework,Version=v4.0,而在 Release 模式下它是 .NETFramework,Version=v4.6.1
有沒有人知道為什么除錯框架不同,以及如何使用 VS2019 IDE 將其設定為發布框架的框架?
我懷疑這可能是導致重復訊息和增加 msi 大小的原因。
"Debug"
{
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
"OutputFilename" = "8:Debug\\Setup1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0"
{
"Name" = "8:Microsoft .NET Framework 4 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.0"
}
}
}
}
"Release"
{
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
"OutputFilename" = "8:Release\\Setup1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1"
{
"Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.6.1"
}
非常感謝您的閱讀。
麥克風
uj5u.com熱心網友回復:
您確定雙倍的大小不是由于 .msi 中同時包含 x86 和 x64 代碼,因為在構建配置中指定了任何 CPU?
要對此進行測驗,請轉到Project Properties->Compile,然后查看“目標 CPU”下列出的內容。選擇x86 only,然后重新生成解決方案和安裝包,安裝 MSI,然后查看 .exe 中已安裝程式檔案夾中的 .exe 有多大C:\Program Files(x86),或者僅查看 .exe\obj\Release或\bin\Release檔案夾中的 .exe 檔案大小,具體取決于您的目標選擇了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/367656.html
