Почему мой проект MSBuild не собирается постепенно? - PullRequest
1 голос
/ 11 апреля 2011

У меня есть проект, который генерирует класс из его определения XSD, а затем создает его. Моя проблема в том, что, хотя я указываю входы и выходы моей цели Xsd, она все равно выполняется каждый раз, когда я строю решение Visual Studio. В чем может быть проблема здесь?

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" InitialTargets="Xsd" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- snip -->
  <ItemGroup>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="request.cs">
      <DependentUpon>request.xsd</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="key.snk" />
  </ItemGroup>
  <ItemGroup>
    <Xsd Include="request.xsd" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Target Name="Xsd" Inputs="@(Xsd)" Outputs="request.cs">
    <Exec Command='"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\xsd.exe" &quot;@(Xsd)&quot; /c /o:..\.. /n:Order.Messaging' />
  </Target>
</Project>

1 Ответ

1 голос
/ 12 апреля 2011

Удалить цель Xsd из InitialTargets

Начальные цели обычно используются для проверки ошибок.

и добавьте зависимость к BeforeBuild Target:

<Target Name="BeforeBuild" DependsOnTargets="Xsd" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...