我想运行本地/内部NuGet存储库。我想我已经找到了如何通过使用NuGet将其包含在虚拟项目中并扫描该软件包文件以获取我本地缓存的.nupkg
文件的方式来“重用”现有的NuGet软件包,但是...
如何.nupkg
从项目中创建一个nuget包(),自动包括所有 dll
依赖关系,而不仅仅是通过NuGet获取的依赖关系?
特别:
- 创建一个解决方案
- 添加一个新项目
- 添加对各种
.dll
文件/其他项目的引用<-这是缺少的部分 - 通过程序包管理器/ cmdline /添加NuGet程序包
- 某些东西会自动创建
.nupkg
根据我的发现,您应该做类似的事情
- 手动编辑
.csproj
文件以添加<BuildPackage>true</BuildPackage>
以包含依赖项 - 手动创建
.nuspec
文件并手动列出您的依赖项(类似?) - 手动
nuget pack
在.nuspec
文件上运行
但是一切都是手工的,这很愚蠢。甚至半自动的解决方案仍然很笨拙或半手动:
- 创建
.nuspec
模板-似乎不包括依赖项,仅包含元数据 通过build-event的nuget pack(第5步),您需要手动将其添加到每个项目中,并且它有自己的怪癖:
"$(SolutionDir).nuget\NuGet.exe" pack "$(ProjectPath)" -Properties Configuration=Release move /Y *.nupkg "$(TargetDir)"
我将解决自动.nuspec
从项目引用创建清单的问题。然后,从理论上讲,可以将+ nuget构建事件汇总到一个build-project / nuget包中,这是我真正想要看到的。