After referencing “Aspose.Slides.NET6.CrossPlatform” 25.5.0 nuget package in .NET project it copies some libraries from nuget to output directory of the project (five libraries, to be precise).
Libraries examples:
aspose.slides.drawing.capi_vc14x64.dll
libaspose.slides.drawing.capi_x86_64_libstdcpp_libc2.23.so
Copying is done in the file “Aspose.Slides.NET6.CrossPlatform.targets” from the “buildTransitive” folder in nuget package. File contents:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0' Or '$(TargetFramework)' == 'net9.0'">
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\aspose.slides.drawing.capi_vc14x86.dll">
<Link>aspose.slides.drawing.capi_vc14x86.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\aspose.slides.drawing.capi_vc14x64.dll">
<Link>aspose.slides.drawing.capi_vc14x64.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\libaspose.slides.drawing.capi_x86_64_libstdcpp_libc2.23.so">
<Link>libaspose.slides.drawing.capi_x86_64_libstdcpp_libc2.23.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\libaspose.slides.drawing.capi_appleclang_x86_64.dylib">
<Link>libaspose.slides.drawing.capi_appleclang_x86_64.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\libaspose.slides.drawing.capi_appleclang_arm64.dylib">
<Link>libaspose.slides.drawing.capi_appleclang_arm64.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
In our scenario the project “A” that refrences “Aspose.Slides.NET6.CrossPlatform” is packed to nuget and then is referenced in other projects. So every one of this projects ends up showing these libraries in its file-tree in Visual Studio.
Could you please modify .targets file by adding Visible=False property to copied libraries? Like so:
<None Include="$(MSBuildThisFileDirectory)\..\net6.0_native\libaspose.slides.drawing.capi_appleclang_arm64.dylib">
<Link>libaspose.slides.drawing.capi_appleclang_arm64.dylib</Link>
<Visible>False</Visible>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Thank you for your help.