Distributing Plugin DLLs and Dependencies in .NET Core
When creating a .NET Core plugin system, you might need to include plugin DLLs and their dependencies in your final installation package for end-users. Standard .NET Core builds don't automatically include NuGet dependencies.
The Solution:
To copy NuGet packages to your build output, add this line within a <PropertyGroup>
section of your .csproj
file:
<code class="language-xml"><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies></code>
This ensures that your NuGet assemblies are included in the build output directory.
Important Considerations:
Remember that the bin/Release/netcoreapp*/*
directory is mainly for development testing and isn't suitable for direct distribution. For deployment, always use dotnet publish
to generate the proper distributable artifacts.
While copying to the build output is useful during testing, a more production-ready method involves using the DependencyContext
API. This API allows you to resolve DLLs and their locations within your application's dependency graph, eliminating the need to manually search a local directory.
The above is the detailed content of How Can I Copy NuGet References to the .NET Core Build Output?. For more information, please follow other related articles on the PHP Chinese website!