我有一个C#项目有一些.dll我想打包到.nupkg文件 . 当nuget.exe已下载到.nuget文件夹时,此工作正常,但当nuget.exe不存在时,它将不会自动下载,即使.nuget \ NuGet.targets文件的设置 DownloadNuGetExe
已设置为 true
.
经过一番调查,如果没有要导入的软件包,似乎不会下载nuget.exe . 但我需要下载nuget.exe,以便它可以在开发人员计算机和构建服务器上创建.nupkg文件(而不是管理将包/引用导入到项目中) .
我该如何解决这个限制?我更喜欢只修改.csproj文件的解决方案 .
2 回答
不确定这是否是最好的解决方案,但我们通常会将nuget.exe放入.nuget文件夹中,并确保将其检入源代码控制中,以便在开发人员下载最新代码时将其下载 .
它不是最优雅的解决方案,但由于我们实际上已经编写了代码,因此我们不再拥有包含所有内容的怪物解决方案,我们发现每个解决方案/项目都需要以某种方式提供自己的nuget.exe . 这种方法一直在为我们工作,希望它也适合你......!
我们设法找到了一个解决方案,通过导入.nuget \ NuGet.targets文件然后调用名为_DownloadNuGet的目标,如下所示: