无法在 Windows 10 台机器上构建 IdentityServer4
Unable to build IdentityServer4 on Windows 10 machine
我在尝试构建 IdentityServer4 时收到错误消息 "exited with code -532462766"。该错误似乎发生在 "MinVer" Nuget 包内。
我从 https://github.com/IdentityServer/IdentityServer4 的 github 站点将 IdentityServer4 zip 文件下载到 Windows 10 机器上,并将其解压缩到本地目录中,然后按照以下说明进行操作:
下载最新的.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
运行 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
当我 运行 构建时。ps1 我看到 "dotnet tool restore" 成功更新所有 nuget 包。
然后我得到了所有 5 个构建的相同 "exited with code -532462766" 错误消息。ps1 命令,这是错误消息之一:
C:\Users\tregan.nuget\packages\minver.0.0\build\MinVer.targets(39,5): 错误 MSB3073: 命令 "dotnet "C:\Users\tregan.nuget\packages\minver.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.0.0\build, C:\Repo\Core\IdentityServer4-master\src\Storage\build\build.csproj) .
从错误消息中提取,似乎此命令失败:
dotnet
"C:\Users\tregan.nuget\packages\minver.0.0\build../minver/MinVer.dll"
错误消息抱怨文件 MinVer.Targets,第 39 行。它指向文件的以下部分,显然负责创建无法执行的命令:
<Exec Command="dotnet "$(MSBuildThisFileDirectory)../minver/MinVer.dll" @(MinVerInputs->'%(Identity)', ' ')" ConsoleToMSBuild="true" StandardOutputImportance="Low" >
<Output TaskParameter="ConsoleOutput" ItemName="MinVerConsoleOutput" />
</Exec>
这失败了,因为 Git 没有安装在我的机器上。
我通过 运行ning build.ps1 试图在命令提示符下执行的命令发现了这一点:
dotnet "C:\Users\tregan.nuget\packages\minver.0.0\build../minver/MinVer.dll"
这给了我命令失败的错误消息,因为未安装 Git。由于我已经安装了 Choclately,我只需要从命令提示符 运行 以管理员身份 运行 执行此操作:
choco install git
您可能需要刷新环境变量(如果您正在使用 close/reopen Visual Studio):
refreshenv
我在尝试构建 IdentityServer4 时收到错误消息 "exited with code -532462766"。该错误似乎发生在 "MinVer" Nuget 包内。
我从 https://github.com/IdentityServer/IdentityServer4 的 github 站点将 IdentityServer4 zip 文件下载到 Windows 10 机器上,并将其解压缩到本地目录中,然后按照以下说明进行操作:
下载最新的.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
运行 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
当我 运行 构建时。ps1 我看到 "dotnet tool restore" 成功更新所有 nuget 包。
然后我得到了所有 5 个构建的相同 "exited with code -532462766" 错误消息。ps1 命令,这是错误消息之一:
C:\Users\tregan.nuget\packages\minver.0.0\build\MinVer.targets(39,5): 错误 MSB3073: 命令 "dotnet "C:\Users\tregan.nuget\packages\minver.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.0.0\build, C:\Repo\Core\IdentityServer4-master\src\Storage\build\build.csproj) .
从错误消息中提取,似乎此命令失败:
dotnet "C:\Users\tregan.nuget\packages\minver.0.0\build../minver/MinVer.dll"
错误消息抱怨文件 MinVer.Targets,第 39 行。它指向文件的以下部分,显然负责创建无法执行的命令:
<Exec Command="dotnet "$(MSBuildThisFileDirectory)../minver/MinVer.dll" @(MinVerInputs->'%(Identity)', ' ')" ConsoleToMSBuild="true" StandardOutputImportance="Low" >
<Output TaskParameter="ConsoleOutput" ItemName="MinVerConsoleOutput" />
</Exec>
这失败了,因为 Git 没有安装在我的机器上。
我通过 运行ning build.ps1 试图在命令提示符下执行的命令发现了这一点:
dotnet "C:\Users\tregan.nuget\packages\minver.0.0\build../minver/MinVer.dll"
这给了我命令失败的错误消息,因为未安装 Git。由于我已经安装了 Choclately,我只需要从命令提示符 运行 以管理员身份 运行 执行此操作:
choco install git
您可能需要刷新环境变量(如果您正在使用 close/reopen Visual Studio):
refreshenv