Witam, znalazłem sposob na połaczenie plikow .dll z exe lecz nie wiem dlaczego to nie działa.
Postępuję według następujących czynności:
- Zainstalowałem ilmerge package przez NuGet Package Manager
PM> Install-Package ILMerge.MSBuild.Tasks
2.Dodałem nastepujacy kod do pliku projektu .vcxproj
<UsingTask TaskName="ILMerge.MSBuild.Tasks.ILMerge" AssemblyFile="$(SolutionDir)\packages\ILMerge.MSBuild.Tasks.1.0.0.3\tools\ILMerge.MSBuild.Tasks.dll" />
<Target Name="AfterBuild">
<ItemGroup>
<MergeAsm Include="$(OutputPath)$(TargetFileName)" />
<MergeAsm Include="$(OutputPath)OpenAL32.dll" />
</ItemGroup>
<PropertyGroup>
<MergedAssembly>$(ProjectDir)$(OutDir)MERGED_ASSEMBLY_NAME.exe</MergedAssembly>
</PropertyGroup>
<Message Text="ILMerge @(MergeAsm) -> $(MergedAssembly)" Importance="high" />
<ILMerge InputAssemblies="@(MergeAsm)" OutputFile="$(MergedAssembly)" TargetKind="SameAsPrimaryAssembly" />
</Target>
OpenAL32.dll ktory chce połączyc z exe jest w output path.
Wyskakuje taki oto błąd na samym końcu:
Error ILMerge.Merge: Could not load assembly from the location 'C:\Users\Tomek\Desktop\visual17\otclient-master\vc14\../otclient.exe'. Skipping and processing rest of arguments.
Czy mój projekt nie jest zgodny z .NET assembly czy coś?