我非常喜欢在几个程序集中分离功能,例如对数据提供程序的外观,数据提供程序的合同和数据提供程序实现本身......在我看来,它使得对单元测试一个功能块的各个组件,并且很容易在将来换出一件事情(就我的例子而言,它使数据提供者易于换出)。dotnet pack项目引用
如果我使用3个项目创建解决方案并使用项目引用,当我在入口程序集上构建dotnet时,所有引用都会复制到输出文件夹。当我使用dotnet打包组合项目来创建NuGET包时,NuGET包中只包含条目组合(不包括合同或数据提供者)。用于.NET Core dotnet-pack的documentation指出
项目到项目引用不打包在项目中。 目前,如果您有项目到项目的依赖关系,则必须为每个项目包含一个包。
我的问题是 - 这是为什么?如果我想将我的代码分离为逻辑程序集,我不得不创建单独的NuGET程序包并引用它们,或者只是将所有代码整合到一个程序集中。有没有办法在NuGET包中包含项目引用?
我使用VS2017/.NET核心V1.1(的csproj,不xproj)
至于“为什么”,当文档说你“目前”必须做某件事时,通常意味着开发者没有时间去实现这个功能。 – svick
@svick哦,这是非常愤世嫉俗的(但可能是正确的!)我将离开这篇文章一段时间,以防止在不久的将来出现的1 assembly/NuGET包限制的某种方式。 – Jay