【发布时间】:2019-09-18 08:32:02
【问题描述】:
我正在尝试为存在 2 个版本的库创建一个 nuget 包,每个版本都针对两个不同的 .NET 版本。
这是我的文件夹结构:
如您所见,我的 nuspec 文件是我的 csproj 上方的一个目录(位于 /net452 和 /netcoreapp2.0 文件夹中)。
我正在使用以下命令行来构建我的 nuget 包:
nuget pack .\my.nuspec -properties Configuration=Release -Build
问题是因为csproj文件和nuspec文件不在同一个文件夹,所以无法构建。
请注意,当两个项目都事先手动构建时,打包工作正常。
我对这个过程很陌生,我不确定在那种情况下我应该做什么,有没有一种简单的方法可以从 nuspec 中引用 2 csproj 或者 - 假设我想要为了保持这个文件夹结构 - 我需要先创建一个脚本来构建项目,然后调用 nuget pack?
编辑:为了澄清我的问题,我确实有两个不同的 csproj 文件,分别包含在 /net452 和 /netcoreapp2.0 中,它们在各自的目录中编译源代码以生成两个不同的dll。然后在我的 nuspec 文件中引用这两个 dll,以便使用以下语法在 net452 或 netcoreapp2.0 中提供我的包:
<files>
<file src="lib\**" target="lib" />
</files>
注意:在我手动编译我的两个项目后,目录如下所示(注意包含 net452 和 netcoreapp2.0 文件夹的 lib 文件夹以及我的 dll 的适当版本)。
【问题讨论】:
标签: c# .net msbuild nuget packaging