【问题标题】:How to solve (Jenkins) msbuild-by-convention issue illegal characters in path?如何解决 (Jenkins) msbuild-by-convention 问题路径中的非法字符?
【发布时间】:2015-09-02 11:35:04
【问题描述】:

对于 C# 项目,我使用的是 Jenkins 构建服务器。为了构建 C# 项目,我使用了 msbuild-by-convention。自 2 个月前以来,每次构建尝试都会发生错误。

    (SetAssemblyFileVersion target) -> 
  C:\WORKSPACE\Backend\Back-End\msbuild-by-convention\Scripts\targets.msbuild(207,3): error MSB4018: The "Attrib" task failed unexpectedly. [C:\WORKSPACE\Backend\Back-End\Build\Scripts\main.msbuild]
C:\WORKSPACE\Backend\Back-End\msbuild-by-convention\Scripts\targets.msbuild(207,3): error MSB4018: System.ArgumentException: Illegal characters in path. [C:\WORKSPACE\Backend\Back-End\Build\Scripts\main.msbuild]

此构建步骤/方法中发生错误:

<Target Name="SetAssemblyFileVersion">
    <!-- set correct file version -->
    <ItemGroup>
        <AssemblyInfoFiles Include="$(CSharpSourceDirectory)**\AssemblyInfo.cs" />
    </ItemGroup>
    <Attrib ReadOnly="false" Files="@(AssemblyInfoFiles)" />
        <FileUpdate Files="@(AssemblyInfoFiles)" Regex="\[\s*assembly\s*:\s*AssemblyVersion\s*\(\s*&quot;[\d\.\*]+&quot;\s*\)\s*\]" ReplacementText="[assembly: AssemblyVersion(&quot;$(BuildVersion)&quot;)]" Condition=" @(AssemblyInfoFiles) != '' " />
            <FileUpdate Files="@(AssemblyInfoFiles)" Regex="\[\s*assembly\s*:\s*AssemblyFileVersion\s*\(\s*&quot;[\d\.\*]+&quot;\s*\)\s*\]" ReplacementText="[assembly: AssemblyFileVersion(&quot;$(BuildVersion)&quot;)]" Condition=" @(AssemblyInfoFiles) != '' " />
</Target>

我没有更改我的构建脚本,并且在它工作之前。有谁知道如何解决或调试此问题?

非常感谢, 乔迪

【问题讨论】:

    标签: c# .net jenkins msbuild msbuild-task


    【解决方案1】:

    其权限问题的可能性很高。暂时尝试将您的@(AssemblyInfoFiles) 文件的完全访问权限授予所有人(如果有效,那么您可以根据需要更改该文件的安全权限。)

    【讨论】:

    • 有什么方法可以验证吗?哪个用户需要什么权限(读、写、完整等)?
    • 您的 jenkins 服务必须在服务帐户下运行?我认为如果您授予对该服务帐户的访问权限,那么它将解决您的问题。
    • 我给了詹金的服务账号,但是这并没有解决问题。还有什么我可以验证的吗?
    • 在调用脚本时尝试使用详细程度开关,这将提供详细的日志。它可能会减慢您的构建速度,但您将获得详细的日志。示例:msbuild MyProject.proj /t:All /v:diag /v 用于详细说明
    • 我检查了 Jenkins 用户的权限,并且已经正确配置。我清理了构建目录并开始了新的构建。这样就解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 2012-11-02
    • 2021-03-29
    • 2012-06-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多