当Nuget包是必需的输出时,如何在同一解决方案中引用相关项目

Gui*_*ans 7 projects-and-solutions visual-studio nuget nuget-package

我想知道在同一个解决方案中引用项目的最佳方法是什么.您是使用"添加引用"功能创建引用还是"管理nuget包"并下载某个已发布的版本.每个项目轮流将产生一个Nuget包,可以被其他解决方案引用.

所以对于其他解决方案来说很清楚.他们使用Nuget创建引用,但是内部解决方案项目引用如何?

小智 12

最好的方法是在引用的项目上创建NuGet依赖项.

假设您的解决方案中有两个项目:

Solution
    | ProjectA
    | ProjectB
Run Code Online (Sandbox Code Playgroud)

ProjectA引用了ProjectB,它们都是NuGet包(都有nuspec文件).如果要创建依赖于ProjectB的包ProjectA,请在ProjectA的根目录中执行:

NuGet Pack -IncludeReferencedProjects
Run Code Online (Sandbox Code Playgroud)

在有IncludeReferencedProjects的情况下,NuGet将遍历解决方案中的引用项目,寻找nuspec文件(表明项目是一个包).如果找到nuspec,则将其添加为依赖项.

在此示例中,它将在ProjectB中找到nuspec文件,并将其添加为依赖项.当您安装ProjectA时,也将安装ProjectB并将其添加为参考.