gpt4 book ai didi

msbuild - 更改 msbuild.exe 的工作目录

转载 作者:行者123 更新时间:2023-12-02 00:46:40 24 4
gpt4 key购买 nike

我正在从批处理文件执行 MSBuild。 MSBuild 脚本所在的目录与我希望 MSBuild 在运行脚本时考虑工作目录的目录不同。调用MSBuild.exe时,如何更改其工作目录?

编辑:更多详细信息
假设我有一个位于其他服务器上的 MSBuild 脚本。我想这样运行一个命令:

msbuild.exe \\my_server\c$\My\Path\To\Scripts\TestScript.msbuild

我使用命令提示符在 c:\temp 处运行该命令。假设我的 TestScript.msbuild 有一个创建文件的任务。该文件没有路径,只有文件名。我希望该文件是在 c:\temp 中创建的。但它并不是在服务器上的 msbuild 文件旁边创建的。这就是我想要改变的行为。

编辑#2
这是我在测试中使用的脚本:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">   
<ItemGroup>
<Files Include="HelloWorld.txt" />
</ItemGroup>

<Target Name="TouchFiles">
<Touch Files="@(Files)" AlwaysCreate="True" />
</Target>
</Project>

我将进入命令 shell CDing 到 c:\temp,然后执行脚本。无论是否使用 @Nick Nieslanik 提到的/p:OutDir 开关,HelloWorld.txt 文件都会出现在 *.msbuild 文件所在的文件夹中,而不是 c:\temp 中。

最佳答案

我在寻找问题的解决方案时遇到了这个问题。这是我的解决方案(构建脚本):

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Default">
<Exec Command="build.bat" WorkingDirectory="..\[your dir]\" />
</Target>
</Project>

我相信这才是您最初想要的?

我的问题是我的批处理文件调用了另一个它期望位于同一目录中的文件,但由于我的 ms 构建脚本正在其他地方运行,因此该批处理文件无法找到第二个批处理文件。

关于msbuild - 更改 msbuild.exe 的工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7649414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com