【发布时间】:2018-11-08 09:24:44
【问题描述】:
我想使用 .csproj 文件打包 nuget 包。将执行以下命令:
nuget pack MyProject.csproj -IncludeReferencedProjects
在项目文件夹中,我有两个 nuspec 文件,一个取决于 MyProject.csproj,另一个将用于制作不同的包,但取决于此项目。文件夹结构如下:
-ProjectFolder
|-MyProject.csproj
|-AdditionalMyProject.nuspec
|-MyProject.nuspec
当调用nuget pack 命令时,它总是使用第一个 nuspec 文件(AdditionalMyProject.nuspec - 较低的命名)来获取 nuget 包的元数据,但正确的 nuspec 应该是 MyProject.nuspec(与项目文件的名称匹配)。
有没有办法告诉 nuget pack 在打包 csproj 时应该使用哪个 nuspec?
类似这样的:
nuget pack MyProject.csproj -nuspec MyProject.nuspec -IncludeReferencedProjectsenter
【问题讨论】:
-
我不明白 AdditionalMyProject.nuspec 的目的。如果有另一个项目依赖于 MyProject,我不明白为什么您需要为 MyProject 使用特殊的 nuspec。这可能是XY problem 的情况。为什么要两个 nuspec 文件?
-
@Ziv 我想提供两个不同用途的包。 AdditionalMyProject.nuspec 应提供对其他 nuget 包的依赖项,包括 MyProject.nupkg。 MyProject 只是用于特定目的的基础包。
-
如果 AdditionalMyProject 是一个元包,那么 nuspec 不需要与 csproj 位于同一文件夹中,对吗?将其移动到自己的文件夹中,然后在 csproj 旁边只有 1 个 nuspec。
-
这是一个有意义的答案。我试过了,它有效,你能把它作为答案发布吗?