Py学习  »  Git

MS Build在本地工作时不与Gitlab Runner一起工作

Felix D. • 4 年前 • 134 次点击  

我很难让我的管道成功。

显然,源是相同的(只是从master克隆的)。

奇怪的是,当我使用cmd运行相同的命令时,它会起作用。

发生什么事了?

我正在使用.NET 4.6.1

CMD:

C:\Windows\System32>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" 
"C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" /p:Configuration=Release
[...]
Build succeeded.
0 Warning(s)
0 Error(s)

Gitlab公司:

Running with gitlab-runner 11.2.0 (35e8515d)
on .NET BUILDER 67dcb956
Using Shell executor...
Running on <computername>...
Cloning repository...
Cloning into 'C:/temp/GitLabRunner/builds/67dcb956/0/<companyname>/libs'...
Checking out 776042ef as master...
Skipping Git submodules setup
$ & "$env:NUGET_PATH" restore
MSBuild auto-detection: using msbuild version '15.8.166.59604' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin'.
Restoring NuGet package Newtonsoft.Json.11.0.2.
Adding package 'Newtonsoft.Json.11.0.2' to folder 'C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\packages'
Added package 'Newtonsoft.Json.11.0.2' to folder 'C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\packages'

NuGet Config files used:
C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

Feeds used:
C:\WINDOWS\system32\config\systemprofile\.nuget\packages\
https://api.nuget.org/v3/index.json
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

Installed:
1 package(s) to packages.config projects
$ & "$env:MSBUILD_PATH" /p:Configuration=Release
Microsoft (R) Build Engine version 14.0.23107.0
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 23/08/2018 14:08:49.
Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "Release|Any CPU".
Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (1) is building "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj" (2) on node 1 (default targets).
PrepareForBuild:
Creating directory "bin\Release\".
Creating directory "obj\Release\".
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
CoreCompile:
C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE /highentropyva+ /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" /reference:C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Management.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Runtime.Serialization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" /debug:pdbonly /filealign:512 /optimize+ /out:obj\Release\Tools.dll /subsystemversion:6.00 /target:library /utf8output Attributes\EncryptedElementAttribute.cs Config\ConfigBase.cs Config\ConfigManager.cs Config\IConfig.cs Config\SerializationOption.cs Cryptography\CryptoHelper.cs CustomObjects\EncodingStringWriter.cs ExitCodes.cs ExtensionMethods.cs Globalization\GlobalizationTools.cs http\HttpHelper.cs IO\FileOutputHelper.cs IO\IOHelper.cs Licensing\Base32Converter.cs Licensing\Enrypt.cs Licensing\LicenseManager.cs Logging\ILogFile.cs Logging\LogFile.cs Logging\LogLevel.cs Logging\NotifyingLogFile.cs Networking\NetworkTools.cs Plugins\PluginManager.cs Properties\AssemblyInfo.cs Serialization\CustomXmlSerializer.cs Serialization\JSONSerializer.cs Serialization\XMLSerializer.cs Smtp\SmtpConfig.cs Tools.cs "C:\WINDOWS\TEMP\.NETFramework,Version=v4.6.1.AssemblyAttributes.cs"
ExtensionMethods.cs(109,45): error CS1525: Invalid expression term 'int' [C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj]
ExtensionMethods.cs(109,49): error CS1003: Syntax error, ',' expected [C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj]
Done Building Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj" (default targets) -- FAILED.
Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (1) is building "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\UITools\UITools.csproj" (3) on node 1 (default targets).
PrepareForBuild:
Creating directory "bin\Release\".
Creating directory "obj\Release\".
Done Building Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\UITools\UITools.csproj" (default targets) -- FAILED.
Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (1) is building "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\DBTools\DBTools.csproj" (4) on node 1 (default targets).
PrepareForBuild:
Creating directory "bin\Release\".
Creating directory "obj\Release\".
Done Building Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\DBTools\DBTools.csproj" (default targets) -- FAILED.
Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (1) is building "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\UIToolsWPF\UIToolsWPF.csproj" (5) on node 1 (default targets).
PrepareForBuild:
Creating directory "bin\Release\".
Creating directory "obj\Release\".
Done Building Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\UIToolsWPF\UIToolsWPF.csproj" (default targets) -- FAILED.
Done Building Project "C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (default targets) -- FAILED.

Build FAILED.

"C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Libs.sln" (default target) (1) ->
"C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj" (default target) (2) ->
(CoreCompile target) -> 
ExtensionMethods.cs(109,45): error CS1525: Invalid expression term 'int' [C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj]
ExtensionMethods.cs(109,49): error CS1003: Syntax error, ',' expected [C:\temp\GitLabRunner\builds\67dcb956\0\<companyname>\libs\Tools\Tools.csproj]

0 Warning(s)
2 Error(s)

Time Elapsed 00:00:00.92

这是导致故障的代码:

if (int.TryParse(s, out int mins))
{
     return TimeSpan.FromMinutes(mins);
}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38520
 
134 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Felix D.
Reply   •   1 楼
Felix D.    5 年前

所以多亏了 mjwills 我又检查了我的 .gitlab-ci.yml .

结果我发现里面有下面一行:

MSBUILD_PATH: 'C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe'

基本上,当日志中说我使用的是版本15时,我的msbuild版本不匹配。

将其更改为:

`MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe'`

解决了问题。