我正在尝试使用dotnet pack
创建NuGet包并将其复制到用作Visual Studio中NuGet源的NuGet包文件夹。在dotnet
之前我使用dnu pack
创建NuGet包。此命令创建了包含lib
文件夹,.nuspec
,.nupkg
和.nupkg.sha512
文件的项目版本的文件夹。
引入dotnet
后,我迁移到它,打包后我只收到两个文件,.nupkg
和.symbols.nupkg
。如果我将它作为NuGet源复制到visual studio中使用的文件夹,则无法识别它们。
我错过了什么?我目前正在使用.NET Core的1.0.0-preview3-003171版本。
答案 0 :(得分:0)
以下是我在开发环境中本地处理软件包的方法:
第1步:设置本地NuGet源。如果您还没有NuGet CLI,则需要creating a local NuGet feed的副本。按照please click here...上的说明进行操作:基本上,创建一个空文件夹。我选择了C:\Users\Nate\Documents\LocalNuget
。
第2步:使用nuget add [file] -source [folder]
将包添加到本地来源。我添加了一个名为local_nuget_path
的环境变量,指向该文件夹,所以我不必一直输入它:
> setx local_nuget_path "C:\Users\<you>\Documents\LocalNuget"
为了更方便,我编写了一个简单的PowerShell cmdlet来自动添加包:
<强>的NuGet-functions.ps1 强>
Function Nuget-AddLocal {
Param([string]$file)
nuget add $file -Source $env:local_nuget_path
}
Function Nuget-AddAllLocal {
Param([string]$path)
Get-ChildItem $path -Recurse -Filter *.nupkg | `
Foreach-Object {
Nuget-AddLocal $_.FullName
}
}
将其添加到PowerShell配置文件中,以便在每个控制台窗口中都可用:
> notepad $profile
将此行添加到profile.ps1
(替换文件的实际路径):
. C:\Users\<you>\Documents\nuget-functions.ps1
第3步:将本地资源添加到NuGet作为Feed。
> nuget sources add -Name Local -Source $env:local_nuget_path
第4步:利润!
生成包并通过两个简单步骤将它们添加到本地源:
> dotnet pack
> Nuget-AddAllLocal