Fuser is an MSBuild task that merges selected referenced assemblies into your project's output assembly at build time.
The main motivation is to avoid dependency conflicts and version mismatches in shared hosting and plugin environments.
The project is still in its infancy, I haven't clearly defined the objectives yet. Tell me about your specific scenarios and the pain points you're facing.
Mark any package you want to be merged into your output as follows.
<ItemGroup>
<ProjectReference Include="..\Lib1\Lib1.csproj">
<Merge>true</Merge>
</ProjectReference>
<Reference Include="Lib2">
<HintPath>Lib2.dll</HintPath>
<Merge>true</Merge>
</Reference>
<PackageReference Include="Fuser" Version="0.0.1-alpha3" PrivateAssets="All" />
</ItemGroup>✅ No need to manually merge or pack.
✅ Works during normal dotnet build and dotnet test.
✅ Simple configuration with a <Merge>true</Merge> property on any Reference.