我们希望将包含多个项目的解决方案升级到 .NET 4.5。我们已经使用 Visual Studio 2012。我们使用 ILMerge 将程序集合并到单个 EXE。
我们当前用于主项目的 .csproj 文件如下所示:
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
<CreateItem Include="@(ReferenceCopyLocalPaths)" Condition="'%(Extension)'=='.dll'">
<Output ItemName="AssembliesToMerge" TaskParameter="Include" />
</CreateItem>
<PropertyGroup>
<ReferenceAssemblies>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0</ReferenceAssemblies>
</PropertyGroup>
<Message Importance="high" Text="Executing ILMerge...with target platform from $(ReferenceAssemblies)" />
<Exec Command=""$(SolutionDir)LIB\ILMerge.exe" /out:@(MainAssembly) /internalize /targetplatform:v4,"$(ReferenceAssemblies)" "@(IntermediateAssembly)" @(AssembliesToMerge->'"%(FullPath)"', ' ')" />
<Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
</Target>
这应该如何看待 .NET 4.5?
我在这里读到,在 .NET 4.5 中使用 ILMerge 存在一些问题。