2017-10-26 13 views
0

私はVisual Studio Codeを初めて使用しています。私は私のcsprojで出力ディレクトリを定義したいと思います。 Visual Studioでどこを変更するのかわからないVisual Studioコードのデフォルトビルド出力ディレクトリを変更するにはどうすればいいですか?

+0

だろうと、それがプロジェクト]をクリックし、右ではないです>>プロパティ>>ビルド>>出力>>通常のビジュアルスタジオと同様の出力パス? – Lithium

+0

いいえ... Visual Studioコードではこのように動作しません –

答えて

2

VSCodeはdotnet CLIを使用し、特にdotnet buildコマンドを作成するために使用します。

{ 
    "version": "2.0.0", 
    "tasks": [ 
     { 
      "taskName": "build", 
      "command": "dotnet build", 
      ... 
     } 
    ] 
} 

あなたが所望の経路で-o引数を追加することがあります。とりわけ、それはあなたの建物のタスクが.vscode/tasks.jsonファイルで定義されていると仮定すると、次のオプション

-o|--output <OUTPUT_DIRECTORY> 
Directory in which to place the built binaries. 

を持っています。

... 
"command": "dotnet build -o ${workspaceRoot}/bin/another_Debug/", 
... 

${workspaceFolder}がVSCode predefined variablesの一つである:例えば、への変更

$ {workspaceFolder} tasks.jsonファイルを含むワークスペースフォルダのパス

0

VSCode、VS、およびdotnet CLIからの一貫した動作を希望する場合は、csprojファイルを編集して出力パスを次のように設定することをお勧めします。

<PropertyGroup> 
    <OutputPath>..\custom-output-dir\</OutputPath> 
    <!-- Remove this if you multi-target and need the created net*, netcoreapp* subdirs --> 
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> 
</PropertyGroup> 

2つ目のプロパティは、マルチターゲティングビルドに必要なターゲットフレームワークのサブディレクトリをSDKが追加するのを防ぎますが、単一のフレームワーク(= TargetFrameworkプロパティのみの場合)をターゲットにする場合はそうではありません。たとえば、パスを設定するときは、また、他のプロパティを使用することができます

<OutputPath>..\custom-output-dir\$(Configuration)\$(MSBuildProjectName)\</OutputPath> 

プロジェクトがMyProj.csprojであると仮定すると、出力パスは、その後..\cusotm-output-dir\Debug\MyProj\

関連する問題