.net 如何选择一个特定的dotnet核心sdk当发布dotnet应用程序

hxzsmxv2  于 2022-12-14  发布在  .NET
关注(0)|答案(2)|浏览(255)

我有一个面向dotnet 5.0.* 的应用程序,我使用命令行发布。我使用了安装了dotnet 5.0.* SDK的Visual Studio 2019,发布工作正常。
但是,我最近安装了Visual Studio 2022 Preview,并尝试运行dotnet publish命令,它失败了,由于预览sdk。

我已经搜索了大部分关于如何在发布Dotnet应用程序时指定Dotnet版本的MSDN文档,但没有找到解决方案。
我正在使用下面的powershell脚本:

$version  =  "6.12.0"
$product  =  "CrystalERP"
$project  =  "I:\CrystalRelease\crystal.erp\crystal.pos.cafe\Crystal.Pos.Cafe.csproj"
$output  =  "I:\App"
$dotnet  =  "C:\Program Files\dotnet\dotnet.exe"
$runtimes  = @(
"linux-x64"
)
# clear previous releases

Remove-Item "$output\App*"  -Recurse -Confirm:$true
$runtimes  |  %{
&  $dotnet publish $project  -c release   -r $_  -o ("{0}\{1}"  -f $output,"App")
tag5nh1u

tag5nh1u1#

构建/发布是SDK的一项功能。
您可以使用dotnet --list SDK查看计算机上安装的所有SDK。
然后,您应该使用global.json来指定用于构建应用程序的SDK。

{
  "sdk": {
    "version": "5.0.100",
  }
}

参见global.json docs for more details

ru9i0ody

ru9i0ody2#

您可以设置一个在所有应用程序开发中使用的通用版本,使其与依赖项和工具保持一致。

命令:

dotnet new globaljson --sdk-version <installed sdk versions of .NET>

它将创建**“global.json”**文件。
要检查安装了哪些版本(如果您不知道),请使用-

dotnet sdk check

**输出:**x1c 0d1x

获取版本详细信息后,您可以根据需要设置要使用的版本

例如

dotnet new globaljson --sdk-version 6.0.306

相关问题