我正在尝试使用.NET Core编写插件系统,我的要求之一是能够将插件DLL及其依赖项分发给用户进行安装。
但是,我无法弄清楚如何将我的NuGet依赖项作为构建工件包括在内,并将它们输出到构建文件夹,而不必dotnet publish用作黑客。有什么方法可以在.csproj文件(项目文件)中指定此名称?
dotnet publish
您可以将其添加到<PropertyGroup>csproj文件中,以强制将NuGet程序集复制到内置输出:
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
但是,请注意,构建输出(bin/Release/netcoreapp*/*)不应移植和分发,dotnet publish而是输出。但是在您的情况下,将程序集复制到构建输出可能对于测试目的非常有用。但是请注意,您也可以使用DependencyContextapi来解析DLL及其作为应用程序依赖关系图一部分的位置,而不是枚举本地目录。
bin/Release/netcoreapp*/*
DependencyContext