我想创建一个NuGet包,它将多个.dll文件添加为我项目的引用。
我有一个包含10个.dll文件的文件夹。
当我通过nuget安装时,我希望将这些文件添加到项目的引用中。
答案 0 :(得分:47)
我想创建一个nuget包,它将多个.dll添加为我的项目的引用。
我想给你两个解决方案来实现这个目标:
首先,使用 NuGet Package Explorer :
其次,就像Lex Li提到的那样,我们可以使用.nuspec打包程序集:
nuget spec "PathOfProject\TestDemo.csproj"
打开TestDemo.csproj.nuspec
文件并修改它并将程序集添加为文件;下面是我的.nuspec文件:
<?xml version="1.0"?>
<package>
<metadata>
<id>TestDemo</id>
<version>1.0.0</version>
<authors>Tester</authors>
<owners>Tester</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>TestDemo</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="MultipleDll\*.*" target="lib\net461" />
</files>
</package>
使用pack命令:nuget pack TestDemo.csproj.nuspec
希望这可以帮到你。
答案 1 :(得分:11)
我认为创建NuGet软件包的最佳方法是使用nuget.exe
。
在命令提示符下,输入
nuget spec
您现在将拥有一个.nuspec
文件。在编辑器中将其打开,然后添加ID,作者等。
最重要的部分是封闭元数据标记后的files
标记。
您可以在此处定义所有dll,如下所示:
<files>
<file src="bin\Release\YourDll.dll" target="lib"></file>
</files>
最后,您可以使用以下命令创建.nupkg
文件:
nuget pack 'Your_nuspec_file_name'
How to Create Nuget Packages上的这段视频有一个非常有用且清晰的教程。
答案 2 :(得分:1)
如果要通过Visual Studio或dotnet进行操作,则可以编辑csproj文件,添加一个ItemGroup以包含dll,如下所示: 这会将其他dll与您当前的项目dll一起打包在nuget包中。
<ItemGroup>
<Content Include="<path to other dll>">
<Pack>true</Pack>
<PackagePath>lib\$(TargetFramework)</PackagePath>
</Content>
</ItemGroup>