我的项目工作区操作使用“setup-donet@v1”构建和发布正常,但使用“setup-donet@v4”失败 - dotnetpublish 命令失败并出现以下错误。当切换回 v1 时,它会再次工作。
Run dotnet publish ./Project/Project.csproj -c Release -o C:\Program Files\dotnet/myapp/
MSBUILD : error MSB1008: Only one project can be specified.
Full command line: 'C:\Program Files\dotnet\sdk\8.0.302\MSBuild.dll -maxcpucount -verbosity:m -nologo -restore -target:Publish --property:_IsPublishing=true -property:PublishDir=C:\Program -property:_CommandLineDefinedOutputPath=true -property:Configuration=Release -property:DOTNET_CLI_DISABLE_PUBLISH_AND_PACK_RELEASE=true ./Project/Project.csproj Files\dotnet/myapp/ -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\8.0.302\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\8.0.302\dotnet.dll'
Switches appended by response files:
Switch: Files\dotnet/myapp/
For switch syntax, type "MSBuild -help"
Error: Process completed with exit code 1.
这是我的工作流程操作的相关部分
- name: Set up .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.x'
- name: Build with dotnet
run: dotnet build ./Project/Project.csproj --configuration Release
- name: dotnet publish
run: dotnet publish ./Project/Project.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp/
你知道为什么吗?
评论中@heretic-monkey 的解决方案。
缺少引号,因为 DOTNET_ROOT 中似乎有空格。 尝试 -o "${{env.DOTNET_ROOT}}\myapp"