TeamCity MSBuild 4.0 Ayuda
-
26-09-2019 - |
Pregunta
necesito ayuda con mi archivo de MSBuild que creé hace un tiempo.
Todo lo que quiero hacer es construir la solución, publicar un proyecto dentro de la solución y que copia los archivos a un directorio
En el momento en que me puse a TeamCity .net 4 msbuild, MSBUILD 4.0 herramientas y el 86 me sale un error que indica
error MSB4067:. El elemento
<ItemDefinitionGroup>
debajo elemento<Project>
no se reconoce
<?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>
Solución
Me estoy poniendo el código de error también, aunque quejándose de un elemento diferente:
error MSB4067:. El elemento
<ArtifactAssemblies>
debajo elemento<ItemGroup>
no se reconoce
Me di cuenta de que TeamCity está invocando la versión 2.0 de MSBuild, lo que podría explicar por qué msbuild está luchando con el código XML.
'C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe' '@ "D: \ BuildAgent \ trabajo \ 2f016459feee51ce \ build \ BuildSolution.msbuild.teamcity.msbuild.tcargs" "D: \ BuildAgent \ trabajo \ 2f016459feee51ce \ Build \ BuildSolution.msbuild.teamcity.patch.tcprojx"' trabajando dir = 'D: \ BuildAgent \ trabajo \ 2f016459feee51ce' Microsoft (R) Construir la versión del motor 2.0.50727.4016 [Microsoft .NET Framework, versión 2.0.50727.4200]
He arreglado el problema 2.0 msbuild añadiendo a la \ conf \ buildagent.properties archivo en la máquina agente de compilación equipo de la ciudad, lo siguiente:.
env.MSBuild=%system.DotNetFramework4.0_x86_Path%
Reiniciar el servicio después de eso y problema resuelto.
Otros consejos
Por desgracia, no se empaquetan los objetivos WebApplications. No puedo encontrar un SDK que tiene estos objetivos envasados ??sin tener instalado VS ... de ninguna manera. No entiendo por qué EM CI hace tan difícil.