我正在尝试为在其他解决方案/项目/等中使用的一对内部 C# 项目(最终更多,但从这两个项目开始)生成 NuGet 包。这两个内部 C# 项目都引用了其他 NuGet 包(尤其是企业库日志记录)。我正在使用 Nuget 的功能,它允许它从 CSPROJ 文件构建包以简化我的生活。问题是 Nuget.Exe 工具没有将项目引用的包识别为依赖项。给出解决方案的完整布局:
Solution:
Project 1
Refs to some NuGet packages off the global repository (Enterprise Library, etc etc).
(has a packages.config file that explicity lists them all)
Project 2
Refs to some NuGet packages off the global repository (Enterprise Library, etc. etc).
Project ref to Project 1
(has a packages.config file that explicity lists them all)
我使用的命令行是:
nuget pack Project2.csproj -IncludeReferencedProjects -verbosity detailed
命令行输出的相关部分是:
Found packages.config. Using packages listed as dependencies
Id: Project2
Version: 1.0.0.0
Authors: abc
Description: abc
Dependencies: Project1 (= 1.0.0.0)
Added file 'lib\net35\project2.dll'.
我本来期望“依赖项:Project1、Enterprise Libray Logging 等”
*注意:我必须向 Project1 和 Project2 添加一个 nuspec 文件才能使项目间依赖项部分正常工作。nuspec 文件基本上是空白的,除了占位符值:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>abc</authors>
<owners>abc</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>defr</description>
<copyright>Copyright 2013</copyright>
</metadata>
</package>
我在 NuGet 问题跟踪器上找到的最接近的东西是http://nuget.codeplex.com/workitem/3097,但这略有不同,其中提出的解决方案似乎都不起作用。
有人有类似的情况正常工作吗?
我将 NuGet 2.7 与 Visual Studio 2012 一起使用。