I am building a modular .NET core application that can load extensions at runtime using MEF. I have 2 projects, one is a library that I want to be able to load at runtime, then I have my main application that will do the loading.
My library project has some Nuget dependencies. In order to load my library at runtime, I need those Nuget dependencies to be available next to the library at runtime, but building using VS2017 does not include these Nuget DLLs as part of the output.
How do I get Nuget DLLs included when I build my library?
Edit: I have tried dotnet publish
and dotnet pack
, but both of those make me a nupkg
file only containing my DLL and not the nuget DLLs I need with it. Also, I can't load a nupkg
file at runtime very easily, which is why I'd like to just get the resulting assemblies themselves on their own.
For what it's worth, this is what my csproj looks like:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<AssemblyName>JSON.plugin</AssemblyName>
<IncludeBuiltProjectOutputGroup>true</IncludeBuiltProjectOutputGroup>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Composition" Version="1.0.31" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\BDDGen.Types\BDDGen.Types.csproj" />
</ItemGroup>
</Project>
dotnet publish
, not adotnet build
. Not sure if VS has a way to do that (surely, it must). – Mauritiusdotnet publish
builds me a .nupkg file that only has my library DLL in it, nothing else. – GarbanzoCostura.Fody
. – Arrowpublish
directory? What are its contents after running adotnet publish
? – Mauritiuspublish
directory anywhere previously, but it seems after runningdotnet clean
and then adotnet publish
I have all my deps in thepublish
folder like I wanted. Thank you. :) – Garbanzo