我刚刚开始使用NAnt。我当时正在学习一个教程,只是试图设置一个目标以在构建时清理我的解决方案。我的Visual Studio解决方案结构如下:
NAnt .exe文件位于Tools/NAnt文件夹中。我的.build文件也在那里。这是我的.build文件:
<?xml version="1.0" encoding="utf-8" ?>
<project name="NAntTest" default="build" xmlns="http://nant.sf.net/release/0.86-beta1/nant.xsd">
<property name="solution.file.name" value="NAntTest.sln" />
<property name="project.config" value="debug" />
<target name="build" depends="clean.source" />
<target name="clean.source">
<exec program="${framework::get-framework-directory(framework::get-target-framework())}\msbuild.exe"
commandline="${solution.file.name} /t:Clean /p:Configuration=${project.config} /v:q"
workingdir="."/>
</target>
</project>
这就是我遵循的示例的格式。如果我尝试运行此版本,则会收到一条错误消息,指出该项目文件不存在。在clean.source目标中,如果将工作目录属性替换为基本解决方案文件夹的硬编码路径,则脚本将编译并正确运行。显然,如果我需要将项目移动到任何地方,这对于可移植性来说都不是理想的选择。
如何获得NAnt来查看基本工作目录?
最佳答案
我的建议是始终将构建文件放在解决方案级别。然后,构建文件中的所有相对路径将等于解决方案的路径。
关于visual-studio - 如何在NAnt中设置工作目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/755722/