dotnet / ILMerge

ILMerge is a static linker for .NET Assemblies.
MIT License
1.23k stars 170 forks source link

Support for /TargetPlatform:v3.5 in ILMerge #42

Closed Jalalx closed 6 years ago

Jalalx commented 6 years ago

Hello Is there any support for .NET Framework 3.5 as Target Platform? I'm trying to make my app available on Windows 7 (Which has .NET 3.5 preinstalled).

This is my Post-Build event:

"%programfiles(x86)%\microsoft\ilmerge\ILmerge.exe" /out:"$(TargetDir)Merged\MyAppInstaller.exe" "$(TargetPath)" "$(TargetDir)AeroWizard.dll" "$(TargetDir)DotNetZip.dll" /targetplatform:v3.5

Here is the output:

1>  MyAppInstaller -> C:\Projects\MyApp\Deployment\MyAppInstaller\bin\Debug\MyAppInstaller.exe
1>  An exception occurred during merging:
1>  Platform 'v3.5' not recognized.
1>     at ILMerging.ILMerge.SetTargetPlatform(String platform, String dir)
1>     at ILMerging.ILMerge.Merge()
1>     at ILMerging.ILMerge.Main(String[] args)
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(5019,5): error MSB3073: The command ""%programfiles(x86)%\microsoft\ilmerge\ILmerge.exe" /out:"C:\Projects\MyApp\Deployment\MyAppInstaller\bin\Debug\Merged\MyAppInstaller.exe" "C:\Projects\MyApp\Deployment\MyAppInstaller\bin\Debug\MyAppInstaller.exe" "C:\Projects\MyApp\Deployment\MyAppInstaller\bin\Debug\AeroWizard.dll" "C:\Projects\MyApp\Deployment\MyAppInstaller\bin\Debug\DotNetZip.dll" /targetplatform:v3.5" exited with code 1.

Thank you.

tredpath commented 6 years ago

.NET versions are a terrible mess. Instead of /targetplatform:v3.5 use /targetplatform:v2,C:/Windows/Microsoft.NET/Framework64/v2.0.50727.

Jalalx commented 6 years ago

@tredpath thanks!