【问题标题】:Can I gitignore the .tmcRefac and .tpr files in TwinCAT?我可以在 TwinCAT 中 gitignore .tmcRefac 和 .tpr 文件吗?
【发布时间】:2021-11-16 00:46:52
【问题描述】:

每当您重构 TwinCAT 项目时,它都会创建一个 .tmcRefac 文件。构建此文件后,将转换为 .tpr 文件。这些文件到底是什么,我可以将它们添加到我的 .gitignore 文件中吗?

【问题讨论】:

    标签: twincat


    【解决方案1】:

    简答

    here 所述,.tmcRefac 可以忽略,它包含在official GitHub gitignore for TwinCAT 中。 .tpr 文件不能被忽略,因为它包含有关系统管理器重命名历史的重要信息。

    长答案

    .tmcRefac 文件包含有关哪个变量被重命名为什么的信息:

    <?xml version="1.0" encoding="utf-8"?>
    <Refactors>
      <Renames>
        <RenamedSymbol>
          <Type guid="904700f4-ab78-477a-973a-562c3c32f400">MAIN</Type>
          <From>number1</From>
          <To>number2</To>
        </RenamedSymbol>
      </Renames>
    </Refactors>
    

    在使用 TwinCAT 4024.12 构建项目后,此文件似乎已被删除。但是,如果您有一个stand alone plc project,它会被转换为一个 .tpr 文件。此 .tpr 文件再次包含有关重构变量的信息:

    <TcModuleRefactorInfos RefactorCnt="1">
      <TcModuleRefactorInfo RefactorCnt="1" DateTime="2021-11-11T10:46:12">
        <Renames>
          <RenameSymbol>
            <From>MAIN.number1</From>
            <To>MAIN.number2</To>
          </RenameSymbol>
        </Renames>
      </TcModuleRefactorInfo>
    </TcModuleRefactorInfos>
    

    Beckhoff 支持人员介绍了此文件:

    需要 .tpr 文件来保存独立 PLC 项目中 I/O 变量的重命名历史记录,因为 PLC 项目和系统管理器不在同一个项目中。我认为您不应该忽略该文件,因为它与重命名历史相关。

    错误

    如果您运行的是 TwinCAT 4024.10-4024.12,当存在 .tpr 文件时,可能会出现 bug 导致 Visual Studio/XAE 崩溃。解决方案是升级到 > 4024.15。

    【讨论】:

    • 我也是最近才注意到 .TPR 文件,不是因为版本控制,而是主要是因为 XAE 在部署时抱怨缺少文件。但是,我注意到部署后没有出现任何问题。您是否至少能够弄清楚 TPR 文件的存储位置?我看过但无法弄清楚那个。现在需要等待一年左右才能获得合并请求....
    • @Steve .tpr 文件与 .plcproj 和 .tmc 文件存储在同一文件夹中。当 .tpr 存在时,我们有时会遇到 Visual Studio/XAE 崩溃的问题。但是,我无法在新项目中重新创建此行为。此外,它并不总是崩溃:耸耸肩:。
    • 有任何来自 Beckhoff 的关于是否应该在版本控制中处理的信息?
    • @Jakob 不,我还没有。到目前为止,我在删除它时还没有注意到问题。我将在下周与支持人员联系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2014-11-12
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多