MSBuildをバッチファイルから実行しています。 MSBuildスクリプトは、スクリプトを実行するときにMSBuildに作業ディレクトリを考慮させるディレクトリとは別のディレクトリにあります。 MSBuild.exeを起動すると、作業ディレクトリをどのように変更できますか?msbuild.exeの作業ディレクトリを変更します
編集:詳細
はのは、私はいくつかの他のサーバー上にあるのMSBuildスクリプトがあるとしましょう。私はコマンドを実行したいと思っています。
msbuild.exe \\my_server\c$\My\Path\To\Scripts\TestScript.msbuild
私のコマンドプロンプトでc:\ tempで実行します。 TestScript.msbuildにファイルを作成するタスクがあるとしましょう。ファイルにはファイル名だけのパスはありません。私はファイルがc:\ tempの内部に作成されることを期待します。しかし、サーバー上にあるmsbuildファイルの隣には作成されません。これは私が変更したい動作です。
<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>
私はCにコマンドシェルCDingにつもりです::\ tempにして、スクリプトを実行する。ここ
編集#2
は、私は私のテストで使用しているスクリプトです。 @Nick Nieslanikが言及している/ p:OutDirスイッチがある場合とない場合、HelloWorld.txtファイルは* .msbuildファイルが存在し、c:\ tempではないフォルダに表示されます。
質問がわかりません。ディレクトリAにcmdファイルがあり、それをディレクトリBから呼び出すと、%cd%がエコーアウトされ、ディレクトリBが現在のディレクトリとして表示されます。したがって、スクリプト内のディレクトリを変更しない限り、現在のディレクトリを作業ディレクトリとみなしているはずです。明確にすることはできますか? –
私は、あなたが説明している動作に同意します。しかし、MSBuildはそれをしていないようです。 * .buildファイルの場所を作業ディレクトリとみなしているようです。私は自分の質問を編集して、セットアップの詳細を説明します。 – RationalGeek