【问题标题】:Unable to build IdentityServer4 on Windows 10 machine无法在 Windows 10 机器上构建 IdentityServer4
【发布时间】:2021-05-27 23:12:05
【问题描述】:

我在尝试构建 IdentityServer4 时收到错误消息“以代码 -532462766 退出”。该错误似乎发生在“MinVer”Nuget 包中。

我从 github 站点https://github.com/IdentityServer/IdentityServer4 将 IdentityServer4 zip 文件下载到 Windows 10 机器上,并将其解压缩到本地目录,然后按照以下说明进行操作:

  1. 下载最新的 .Net Core SDK。我已经安装了最新的 sdk,但是在“MinVer”nuget 包(见下文)中出现错误后,我决定也下载几个旧版本。我的 C:\Program Files\dotnet 文件夹在“sdk”文件夹中包含以下子文件夹:

    • 2.1.202
    • 2.1.803
    • 2.2.108
    • 3.0.101
    • 3.1.100
    • 3.1.101
  2. 在根目录中运行 build.ps1。 Build.ps1 进行 nuget 还原,然后执行 5 个其他构建文件,这是内容:

$ErrorActionPreference = "Stop";

New-Item -ItemType Directory -Force -Path ./nuget

dotnet tool restore

pushd ./src/Storage
./build.ps1 $args
popd

pushd ./src/IdentityServer4
./build.ps1 $args
popd

pushd ./src/EntityFramework.Storage
./build.ps1 $args
popd

pushd ./src/EntityFramework
./build.ps1 $args
popd

pushd ./src/AspNetIdentity
./build.ps1 $args
popd

当我运行 build.ps1 时,我看到“dotnet tool restore”成功更新了所有 nuget 包。

然后,对于所有 5 个 build.ps1 命令,我都会收到相同的“exited with code -532462766”错误消息,这是错误消息之一:

C:\Users\tregan.nuget\packages\minver\2.0.0\build\MinVer.targets(39,5):错误 MSB3073:命令“dotnet”C:\Users\tregan.nuget\packages\ minver\2.0.0\build../minver/MinVer.dll" --auto-increment "" --build-metadata "" --default-pre-release-phase "" --minimum-major-minor "" --repo "C:\Repo\Core\IdentityServer4-master\src\Storage\build" --tag-prefix "" --verbosity "" --version-override """ 以代码 -532462766 退出。 [C:\Repo\Core\IdentityServer4-master\src\Storage\build\build.csproj]

我已经验证它正在寻找的路径都存在(C:\Users\tregan.nuget\packages\minver\2.0.0\build, C:\Repo\Core\IdentityServer4-master\src\Storage\ build\build.csproj)。

从错误消息中提取,此命令似乎失败:

点网 "C:\Users\tregan.nuget\packages\minver\2.0.0\build../minver/MinVer.dll"

错误消息抱怨文件 MinVer.Targets 的第 39 行。这指向文件的以下部分,这显然是创建无法执行的命令的原因:

    <Exec Command="dotnet &quot;$(MSBuildThisFileDirectory)../minver/MinVer.dll&quot; @(MinVerInputs->'%(Identity)', ' ')" ConsoleToMSBuild="true" StandardOutputImportance="Low" >
  <Output TaskParameter="ConsoleOutput" ItemName="MinVerConsoleOutput" />
</Exec>

【问题讨论】:

    标签: c# nuget identityserver4 minver


    【解决方案1】:

    这失败了,因为我的机器上没有安装 Git。

    我通过运行 build.ps1 在命令提示符中尝试执行的命令发现了这一点:

    dotnet "C:\Users\tregan.nuget\packages\minver\2.0.0\build../minver/MinVer.dll"
    

    这给了我命令失败的错误消息,因为未安装 Git。由于我已经安装了 Choclately,我只需要从以管理员身份运行的命令提示符运行它:

    choco install git
    

    您可能需要刷新您的环境变量(如果您正在使用,请关闭/重新打开 Visual Studio):

    refreshenv
    

    【讨论】:

    • 您应该在原始版本中看到一条错误消息,告诉您这是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2020-07-13
    • 1970-01-01
    • 2020-07-02
    • 2015-06-21
    • 2022-08-19
    • 2021-11-21
    相关资源
    最近更新 更多