是否可以告诉Nuget在哪里存储解决方案的包装?
-
10-10-2019 - |
题
我找不到这个问题的答案。我用了 nu 以前并且有能力识别要安装“宝石”的位置。例如,我喜欢保持这样的项目结构:
MyProject |-MyProject.build |-MyProject.sln |-doc |-lib | |- ...我的包裹/宝石... |-sql |-src | |-app | |-test |-tools
如您所见,我喜欢保留一个“ LIB”文件夹,以用于我的解决方案中使用的第三方库。使用nu,在项目的根目录中,我可以简单地使用命令:
nu install log4net - 位置= lib
这样做会抓住请求的软件包并将其放在我的“ lib”文件夹中以供以后引用。
那么,这是否可以使用vs.net中的“软件包管理器控制台”?我必须使用其他方法吗?谢谢您的帮助!
解决方案
塞巴斯蒂安·兰布拉(Sebastien Lambla)写了最近的 博客文章 关于OpenWrap,但也谈论Nuget。在其中,他认为要求将包裹放在其他位置的人们确实在问错误的问题:
当问题“我可以更改包装的何处”的问题时,通常是基本的,真正的问题是:“我希望它们与其他传统图书馆一起使用 /lib”或“在我的公司环境中,我不在想要检查所有依赖项,因为我不在乎Xcopy部署。”
然后继续解释您的包装管理器“拥有”的库是如何与您依赖的其他库的“拥有”。
其他提示
Sebastiens Post都很好,但是我真的很在乎这些包装的去向。 Nuget(或任何软件包管理器)不应认为它最了解。
而且不应该假设 解决方案==完整的源树. 。要澄清:我的源树在不同位置包含80多个解决方案,相对于解决方案文件夹的软件包存储库会导致所有包装的80多个克隆,这是缓慢而浪费的。
目前(nuget 1.3)一个无证黑客是将nuget.config文件放在您的解决方案旁边,并带有相对的回购路径。
<settings>
<repositoryPath>..\..\lib</repositoryPath>
</settings>
这可能对您有或不起作用,因为它是黑客。
不隶属于 StackOverflow