有没有办法在项目文件上运行nuget pack并自动获取依赖项?

时间:2012-03-12 12:01:24

标签: nuget

假设我有一个包含packages.config文件的项目。现在,当我在与属于项目的packages.config相同的文件夹中运行nuget pack myproj.csproj时,我希望nuget包含依赖项,但事实并非如此。有可能以某种方式使它成为现实吗?或者我是否必须创建一个nuspec文件才能使依赖项工作?

3 个答案:

答案 0 :(得分:3)

据我所知,最新版本的NuGet vsix支持这种开箱即用的功能。 如果启用包还原(以获取.nuget文件夹和msbuild脚本等),则可以将以下MSBuild属性添加到项目文件中(编辑csproj文件):

<BuildPackage>true</BuildPackage>

现在,无论何时构建项目,都会在项目$(OutDir)中创建.nupkg文件,无论您是否有项目的.nuspec文件。它将包含它在项目的packages.config文件中找到的所有依赖项。

但是,如果你的项目文件夹中有一个名为{projectname} .nuspec的.nuspec文件(将{projectname}替换为项目文件名减去其扩展名),你将能够添加其他元数据和内容。不能仅通过查看您的项目自动导出。可以找到有关创建此类文件的信息here

答案 1 :(得分:1)

答案 2 :(得分:0)

将此引用CreateNewNuGetPackageFromProjectAfterEachBuild添加到您的项目中,构建您的项目,您将在bin文件夹下获得项目的nuget包。

https://www.nuget.org/packages/CreateNewNuGetPackageFromProjectAfterEachBuild/

无需担心生成nuspec并打包所有必需的依赖项。它负责那些