【问题标题】:Nuget secondary file depends on current project buildNuget 辅助文件取决于当前项目构建
【发布时间】:2019-12-16 14:57:16
【问题描述】:

我编写了一个与表达式树相关的测试对象库(用于System.Linq.Expressions 中的类型),我在ExpressionTreeToString 的测试中使用它。

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

  1. ExpressionTreeTestObjects -- via the C# compilercalling the expression tree factory methods 生成的表达式
  2. ExpressionTreeTestObjects.VB -- VB.NET 编译器生成的表达式

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

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

我应该把 NuGet 包信息放在哪里?

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


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

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

【问题讨论】:

    标签: c# msbuild nuget expression-trees


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 2019-11-19
      • 1970-01-01
      • 2015-06-13
      相关资源
      最近更新 更多