Nuget 辅助文件取决于当前项目构建

Nuget secondary file depends on current project build

我已经编写了一个与表达式树相关的测试对象库(针对 System.Linq.Expressions 中的类型),我将其用于 ExpressionTreeToString.

的测试

该库位于解决方案中的两个 .NET Standard class 库项目中:

  1. ExpressionTreeTestObjects -- expressions generated via the C# compiler and by calling the expression tree factory methods
  2. ExpressionTreeTestObjects.VB -- 由 VB.NET 编译器生成的表达式

ExpressionTreeTestObjects 还公开了获取对象列表的主要入口点(通过反射当前域中的程序集)。

我想将两个 DLL 作为一个 NuGet 包发布。

NuGet包信息应该放在哪里?

(在我看来)显而易见的选择是 ExpressionTreeTestObjects。但是,当 ExpressionTreeTestObjects.VB 还依赖于 ExpressionTreeTestObjects 时,怎么会有对 ExpressionTreeTestObjects.VB 的引用呢?这不是循环构建依赖吗?


我想另一种方法是将生成表达式树对象的代码与主入口点代码分开;并将入口代码放在第三个项目 (ExpressionTreeTestObjects.Loader) 中,该项目将引用两个原始项目。然后,包信息将用于第三个项目。

但是添加一个单独的项目感觉应该是不必要的。

我在ExpressionTreeTestObjects.VB项目中包含了包信息,可以看到here.