Frage

Ich brauche Hilfe mit meiner MSBuild-Datei i vor einiger Zeit erstellt.

Alles, was ich tun möchte, ist die Lösung zu bauen, ein Projekt innerhalb der Lösung veröffentlichen und als Kopie der Dateien in ein Verzeichnis

Im Moment, wenn ich gesetzt Teamcity zu .net 4 msbuild, msbuild 4.0-Tools und für 86 i einen Fehler unter Angabe

  

Fehler MSB4067. Das Element <ItemDefinitionGroup> unterhalb Element <Project> ist unerkannt


<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Run">

  <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"/>

  <PropertyGroup>
    <OutputFolder>$(OutputDir)</OutputFolder>
    <DeploymentFolder>$(DeploymentDir)</DeploymentFolder>
    <CompilationDebug />
    <CustomErrorsMode />
    <ContentEditorsEmail />
    <AdministratorsEmail />
  </PropertyGroup>

  <Target Name="Run">
    <CallTarget Targets="Compile" />
    <CallTarget Targets="Publish" />
    <CallTarget Targets="Deploy" />
  </Target>

  <Target Name="Clean">
    <ItemGroup>
      <BinFiles Include="bin\*.*" />
    </ItemGroup>
    <Delete Files="@(BinFiles)" />
  </Target>

  <Target Name="Compile" DependsOnTargets="Clean">
    <MSBuild Projects="WebCanvas.ZakisCatering.Website.sln"
        Properties="Configuration=Release"/>
  </Target>

  <Target Name="Publish">
    <RemoveDir Directories="$(OutputFolder)" ContinueOnError="true" />
    <MSBuild Projects="WebCanvas.ZakisCatering.Website\WebCanvas.ZakisCatering.Website.csproj"
             Targets="ResolveReferences;_CopyWebApplication"
             Properties="Configuration=Release;WebProjectOutputDir=$(OutputFolder);OutDir=$(WebProjectOutputDir)\" />
  </Target>

  <Target Name="Deploy">
    <RemoveDir Directories="$(DeploymentFolder)"
               ContinueOnError="true" />
    <ItemGroup>
      <DeploymentFiles Include="$(OutputFolder)\**\*.*" />
    </ItemGroup>
    <Copy SourceFiles="@(DeploymentFiles)"
          DestinationFolder="$(DeploymentFolder)\%(RecursiveDir)" />
  </Target>

</Project>
War es hilfreich?

Lösung

Ich erhalte diese Fehlercode auch, obwohl beschwerte sich über ein anderes Element:

  

Fehler MSB4067. Das Element <ArtifactAssemblies> unterhalb Element <ItemGroup> ist unerkannt

Ich habe bemerkt, dass Teamcity die Version 2.0 von MSBuild aufruft, was erklären könnte, warum msbuild mit dem xml zu kämpfen hat.

  

'C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe'   ‚@ "D: \ BuildAgent \ work \ 2f016459feee51ce \ Build-\ BuildSolution.msbuild.teamcity.msbuild.tcargs"   "D: \ BuildAgent \ work \ 2f016459feee51ce \ Build-\ BuildSolution.msbuild.teamcity.patch.tcprojx"‘   Arbeits dir =   'D: \ BuildAgent \ work \ 2f016459feee51ce'   Microsoft (R) Build-Engine Version   2.0.50727.4016 [Microsoft .NET Framework, Version 2.0.50727.4200]

Ich reparierte das 2,0 msbuild Problem, indem sie auf das Hinzufügen \ conf \ buildagent.properties Datei auf der Team Stadt Build-Agent-Maschine, die folgenden:.

env.MSBuild=%system.DotNetFramework4.0_x86_Path%

Starten Sie den Dienst danach und Problem gelöst.

Andere Tipps

Leider, sie verpacken nicht die WebApplications Ziele. Ich kann nicht einen SDK finden, die diese Ziele ohne VS verpackt installiert ... auf keinen Fall. Ich verstehe nicht, warum MS macht CI so schwierig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top