我已经编写了一个与表达式树相关的测试对象库(用于System.Linq.Expressions
中的类型),我在ExpressionTreeToString的测试中使用了它。
该库在解决方案内的两个.NET Standard类库项目中:
ExpressionTreeTestObjects
-由ExpressionTreeTestObjects
和via the C# compiler生成的表达式[ExpressionTreeTestObjects.VB
还公开了获取对象列表的主要入口点(通过对当前域中的程序集的反射)。
我想将两个DLL作为单个NuGet包发布。
我应该在哪里放置NuGet软件包信息?
(在我看来,显而易见的选择是在ExpressionTreeTestObjects.VB
中。但是,当ExpressionTreeTestObjects
也取决于ExpressionTreeTestObjects
时,如何引用ExpressionTreeTestObjects.VB
?这不是周期性的构建依赖吗?
我想一种替代方法是,从主入口点代码中分离出生成表达式树对象的代码;并将输入代码放在第三个项目(ExpressionTreeTestObjects.VB
)中,该项目将引用两个原始项目。软件包信息将继续在第三个项目中。
但是添加一个单独的项目感觉应该没有必要。
我已经将包信息包含在ExpressionTreeTestObjects
项目中,如ExpressionTreeTestObjects.Loader
所示。