我想创建一个仅包含二进制文件的NuGet软件包。将程序包添加到项目中后,这些文件应被视为内容文件,并放置在特定的文件夹中。
让我们举个例子。
我有一个图书馆项目,可以产生普通的netstandard2库作为输出。
然后我创建了一个nuspec
文件,将所有内容打包到NuGet中。
<?xml version="1.0"?>
<package >
<metadata>
<id>MyNugetPackage</id>
<version>1.0.0</version>
<title>MyNugetPackage</title>
<authors>My Company</authors>
<projectUrl>http://www.myserver.com</projectUrl>
<iconUrl>http://www.myserver.com/images/favicon.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>MyNugetPackage description</description>
<releaseNotes>First release</releaseNotes>
<copyright>Copyright 2015-2019 My company All rights reserved</copyright>
<dependencies>
<group targetFramework="netstandard2.0">
<dependency id="AWSSDK.Core" version="3.3.32.2" />
<dependency id="RestSharp" version="106.2.2" />
</group>
</dependencies>
</metadata>
<files>
<file src="bin/$configuration$/netstandard2.0/mylibrary.dll"
target="build/netstandard2.0/mylibrary.dll" />
</files>
</package>
我的目标是,将软件包添加到netcoreapp
项目中时,应将库mylibrary.dll
照原样复制到项目文件夹(\plugins
)中,而不应添加为对库的引用项目本身。
这可能吗?我该如何修改nuspec?
此外,包依赖关系会怎样?可以将它们也复制到目标目录吗?