msbuild ファイルに次のコードがあります。
<?xml version='1.0' encoding='ISO-8859-1' ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExtensionImportPath Condition="Exists('$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks') AND '$(DOTNETFRAMEWORK)'!='3.5'">$(MSBuildExtensionsPath)\ExtensionPack\4.0\</ExtensionImportPath>
<ExtensionImportPath Condition="'$(ExtensionImportPath)' == ''">$(MSBuildExtensionsPath)\ExtensionPack\</ExtensionImportPath>
</PropertyGroup>
<Import Project="$(ExtensionImportPath)\MSBuild.ExtensionPack.tasks"/>
<PropertyGroup>
<CommonTop Condition="'$(CommonTop)'==''">.</CommonTop>
<Root>$(MSBuildProjectDirectory)</Root>
<SourceRoot>$(Root)</SourceRoot>
<OutputRoot>$(CommonTop)\bin</OutputRoot>
<OutputDebug>$(Root)\bin\Debug</OutputDebug>
</PropertyGroup>
<Target Name="compile">
<Message Condition="'$(verbose)'=='true'" Text="$(MSBuildProjectFullPath) - empty compile target"/>
</Target>
</Project>
それはすべてのプロジェクトに使用されます。各プロジェクトでは、別の msbuild プロジェクトがありますが、実際にはうまく動作しません。これは私のコードです
<?xml version='1.0' encoding='ISO-8859-1' ?>
<Project DefaultTargets="Start" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<CommonTop>.</CommonTop>
<!-- Importera top msbuild-->
<Import Project="..\\ms_top.proj"/>
<Target Name="Start">
<ItemGroup>
<ProjectsToBuild Include="$(CommonTop)\bulidmyHelloProject\hello.csproj" />
</ItemGroup>
<PropertyGroup>
<PackageSubDir>myoutput\hello\Bin</PackageSubDir>
</PropertyGroup>
<Message Text="StartTest" />
</Target>
</Project>
次のパラメータで呼び出します: /t:compile /p:verbose=true /t:target=Start
しかし、私はエラーが発生します:
CoreCompile:
ProjectsToBuild.Properties=
ProjectsToBuild.AdditionalProperties=
ProjectsToBuild=
C:\Build\hello_labb_\src\w32\msbuild.proj : error MSB4057: Target target=Start does not exist in project
最初のものを呼び出すというエラーを理解していますが、ターゲットの Start がありませんが、どうすれば動作させることができますか? 最上位の msbuild ファイルには何も追加したくありません。