我正在移动一个项目,使其成为一个nuget包。该项目中有预处理程序指令,用于检查开发人员所处的自定义构建配置。如果它们在Build config A中,则它会提取A服务设置,如果它们在B中,则它会提取B的设置。问题是当我打包这个服务并且nuget包在具有相同构建配置的单独进程中使用时,它并不尊重devs构建配置选项,因为nuget已经使用它内置的任何设置进行编译我们在一个nuget包中将它设置为3个dll。
有没有办法根据自定义构建配置选择使用哪个nuget dll而不修改csproj代码?
答案 0 :(得分:1)
有没有办法根据自定义构建配置选择使用哪个nuget dll而不修改csproj代码?
据我所知,NuGet不支持此功能。在一个项目的文件中,您只能拥有一个具有特定构建配置的NuGet包。此外,NuGet现在只支持多个.NET框架版本,不支持多种配置。
如果您有不同的构建配置,则可以拥有不同的NuGet包。该项目由具有平台特定项目的库作者特定使用,这些项目需要不同的NuGet包。
此外,不使用NuGet将程序集添加到项目中可能更简单。只需将NuGet用于pack the package with multiple dlls文件,然后直接引用条件所需的程序集。