gpt4 book ai didi

.net - dotnet pack - 你如何指定包的名称?

转载 作者:行者123 更新时间:2023-12-03 16:30:21 26 4
gpt4 key购买 nike

我正在尝试在 powershell 中将库打包为 NuGet 包,如下所示:

function Create-NuGetPackages($projects) {

if (!(Test-Path $NuGetPackageDirectory)) {
New-Item $NuGetPackageDirectory -ItemType Directory
}

foreach ($project in $projects) {
pushd $project.DirectoryName

& dotnet.exe pack --configuration $Configuration --output $NuGetPackageDirectory --no-build

popd
}

return $NuGetPackageDirectory
}
该项目正在使用 project.json和一个 .xproj文件(还有一个 .csproj 文件,用于处理 .NET 4.5.1 中的项目)。上面的命令起作用了,但我最终得到了一个 NuGet 包名 MyProject.Core我需要它是 MyProject以匹配旧包。
项目是一个端口,最明智的做法是以Java包命名文件夹,即 MyProject.Core ,但我似乎无法弄清楚如何使它生成具有不同名称的 NuGet 包。
我曾尝试在 CLI 上使用此命令:
dotnet pack "src\MyProject.Core\MyProject.csproj" --output NuGetPackages\ --configuration "Release"
但它给出了错误:
Unable to find a project.json in src\MyProject.Core\MyProject.csproj\project.json
根据 this page :

PROJECT

The project to pack. It's either a path to a csproj file or to a directory. If omitted, it defaults to the current directory.


那么为什么如果我指定 csproj 的路径,它会查找 project.json 文件吗?
我能够通过指定以下内容来解决程序集名称的这个问题:
"buildOptions": { "outputName": "MyProject" },
但是 pack 命令完全忽略了这一点。在 packOptions 中似乎也没有指定 NuGet 包名称的选项。部分。
我看了 this old question但看起来他们在谈论 nuget 工具,而不是 dotnet 工具。
是我重命名文件夹的唯一选择(现在可能会导致很多其他东西中断),还是有另一种方法可以为 dotnet pack 指定 NuGet 包名称命令?
顺便说一句,我在几个地方读到 project.json即将离开,我们将返回 .csproj ,但何时生效尚不清楚。我的目标是消除 project.json文件还是太早了?

最佳答案

对于仍然有此问题的人

dotnet pack -p:PackageID=my_id

关于.net - dotnet pack - 你如何指定包的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43170721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com