我们希望使用几个项目升级我们的解决方案到.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下这应该是什么样子?
我在这里读到,使用ILMerge和.NET 4.5存在一些问题。