2016-07-13 18 views
6

Ich bekomme folgenden Fehler beim Bauprojekt in Team City.Fehler MSB4102: Der Wert "" des Attributs "Projekt" im Element <Import> ist ungültig. Parameter "Pfad" darf keine Länge von Null haben. F #

Das gleiche Projekt wird auf dem lokalen Computer erstellt. Lokale Maschine hat VS 2015 und F # 4.0.

Meine Projektkonfiguration ist wie folgt.

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 


    <Choose> 
     <When Condition="'$(VisualStudioVersion)' == '11.0'"> 
      <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets')"> 
      <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath> 
      </PropertyGroup> 
     </When> 
     <Otherwise> 
      <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"> 
      <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> 
      </PropertyGroup> 
     </Otherwise> 
     </Choose> 
     <Import Project="$(FSharpTargetsPath)" /> 

Dies ist Konsolenanwendung.

+0

Problem war auf dem Agenten, den die Team-Stadt als Referenz für Build verwendet. Auf diesem Agentencomputer waren einige Abhängigkeiten nicht installiert. Wie, F # 4.0 –

Antwort

5

Ich hatte vor einer Weile ein ähnliches Problem, weil ich den lokalen Computer mit Administratorrechten ausführte, aber das Visual Studio-Installationsprogramm Umgebungsvariablen auf der Ebene user festgelegt hatte und nicht die system Ebene, die Administrator verwendet. Beim Kompilieren als Administrator wurde die FSharpTargetsPath nicht korrekt aus Umgebungsvariablen wie VisualStudioVersion erstellt.

Schauen Sie auf Ihrem lokalen Computer nach, welche Umgebungsvariablenwerte für VisualStudioVersion auf der Ebene, die Sie erfolgreich verwenden (System oder Benutzer), sowie andere Variablen festgelegt sind, und überprüfen Sie dann, ob diese auf der entsprechenden Ebene festgelegt sind auf der Team City-Maschine.

Vielleicht laufen Sie als user auf Ihrem lokalen Computer und System auf der Team City-Maschine.

Details sehen hier: https://stackoverflow.com/a/21420306/152739

Ich hoffe, das macht Sinn.

+4

Hallo Scott, Danke für die schnelle Antwort! Das Problem war auf dem Agenten, den die Team-Stadt als Referenz für das Build verwendet hatte. Auf diesem Agentencomputer waren einige Abhängigkeiten nicht installiert. Wie, F # 4.0 –

+0

Ahh! So oft der Weg der Dinge :-) – Scott