Delphi XE - 致命:未找到F1027单位:'System.pas'或二进制等值(.dcu)

时间:2015-12-02 14:51:44

标签: delphi msbuild tfsbuild

在编译Delphi项目期间,编译器会给出以下错误:

致命:未找到F1027单位:'System.pas'或二进制等值(.dcu)

只有在使用TFS构建系统构建msbuild时才会发生这种情况。

通过命令行执行时工作正常,如下所示。

命令:C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ msbuild.exe E:\ Src \ Project \ sample.groupproj / v:m / t:Build / p:Config = Release

以下通过MSbuild执行失败:

<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXA-1', 'example.com'); ga('create', 'UA-XXXB-1', {'name': 'newTracker'}); // New tracker. ga('send', 'pageview'); ga('newTracker.send', 'pageview'); // Send page view for new tracker </script>

注意:设置以下env变量:BDS,BDSLIB,BDSCOMMONDIR,BDSINCLUDE

当通过CCNET执行时,dcc32.exe有额外的参数,如-I,-LE,-LN,-O,-R,-U,-NB,-NH,但是通过TFS执行没有这些参数列表

有关如何解决这些错误的任何想法。

提前致谢....

1 个答案:

答案 0 :(得分:1)

您的环境可能未正确配置。首先在调用msbuild之前调用位于Delphi安装的BIN目录中的RSVARS.BAT文件。

如果你是从另一个构建系统调用它,我的建议是创建一个简单的批处理/ cmd文件,它将调用RSVARS.BAT,然后执行MSBUILD并让你的构建系统调用它。

如果您尝试单独调用RSVARS.BAT,它将修改其环境副本然后退出,这将对父环境无效。从MSBUILD脚本中添加对RSVARS.BAT的调用也会因同样的原因而失败。必须从与MSBUILD任务相同的上下文环境(或更高版本)调用RSVARS.BAT。

相关问题