2014-07-10 5 views
5

bis Dies betrifft kopieren fehlgeschlagen:TF270003:

  • Visual Studio 2013
  • Team Foundation Server 2010

Fehler:

TF270003: Failed to copy. Ensure the source directory \\TFSFileStore\TFSBuild\Xxx\Yyy\_PublishedWebsites\Zzz exists and that you have the appropriate permissions.

_PublishedWebsites existiert nicht. Das Problem ist, dass es nicht von MSBuild erstellt wird. Selbst wenn ich diese Ordner manuell erstellen würde, werden die Dateien dort nicht kopiert.

Wir bekamen ein Upgrade nur von Visual Studio 2010 bis 2013.


Nachdem die Protokolldateien durchlesen, so scheint es, als ob die falsche MSBuild verwendet wird. Es ist mit:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 

wenn es zu benutzen sein sollte:

C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\MSBuild.exe 

Irgendwelche Ideen, wie TFS bekommen die richtige MSBuild ausführbare Datei zu verwenden?


Ich folgte http://hamidshahid.blogspot.com/2013/10/building-visual-studio-2013-solutions.html:

1) Find all instances of the MSBuild activity. The activity is named as “Run MSBuild for Project” within the build templates as show below:

enter image description here

2) Change the ToolsPath of the activity to point to the MSBuild 12.0 exe file as shown below:

enter image description here

aber ... das Protokoll im Diagnosemodus zeigt die folgende Run MSBuild für Projekt:

Initial Property Values 
    AdditionalVCOverrides = 
    CommandLineArguments = /p:SkipInvalidConfigurations=true /tv:12.0 
    Configuration = Release 
    GenerateVSPropsFile = True 
    LogFile = 
    LogFileDropLocation = \\Xxx\Yyy\Zzz\logs 
    MaxProcesses = 1 
    OutDir = E:\Builds\Xxx\Binaries 
    Platform = Any CPU 
    Project = E:\Builds\Xxx\Xxx.sln 
    ResponseFile = 
    RunCodeAnalysis = AsConfigured 
    Targets = 
    TargetsNotLogged = String[] Array 
    ToolPath = 
    ToolPlatform = X86 
    Verbosity = Diagnostic 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 

Irgendwie die ToolPath Eigenschaft, dass ich eingestellt auf:

C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\ 

wird überschrieben und auf leer gesetzt.

+0

Sie sich vergewissert haben, dass der Benutzer, dass msbuild unter tatsächlich die Erlaubnis zu diesem Verzeichnis hat ausgeführt wird? Im Allgemeinen ist das der Grund # 1; gut, anders als nicht genug Speicherplatz, wenn der erste Platz. – NotMe

+0

Ja, ich habe. Außerdem erstellt es während des Builds die 'Xxx \ Yyy'-Ordner. Sie würden denken, wenn es ein Dauerwellenproblem wäre, würde es viel früher im Prozess versagen. Außerdem hat es im vergangenen Jahr unter VS2010 gut funktioniert. Alles, was wir getan haben, war ein Upgrade auf VS2013. Es muss einige '.csproj' oder' Microsoft.WebApplication.targets' Zeile fehlen oder falsch sein; etwas in diesem Sinne ist, was ich denke. –

+0

Haben Sie [Build Tools 2013] (http://www.microsoft.com/en-us/download/details.aspx?id=40760) auf dem Build-Server installiert? – KMoraz

Antwort

2

In meiner Builddefinition, landete ich eine Sequenz Variable Erstellung, den ich MSBuildToolPath genannt und seinen Wert auf C:\Program Files (x86)\MSBuild\12.0\Bin.

noch in meiner Builddefinition, von dort fand ich jede Run MSBuild for Project Aktivität und stellte ihre ToolPath Eigenschaft den vorgenannten MSBuildToolPath variabel.

Das hatte MSBuild schließlich mit der richtigen Version.

jedoch mein Glück währte nicht lange, weil das nächste Problem war, dass MSBuild nicht die *.metaproj Datei ausfindig machen konnte.

Nach einigen Recherchen fanden wir, dass wir einen Umweltsystemvariable von MSBUILDEMITSOLUTION und seinen Wert auf 1 zu zwingen, die Schaffung dieser Datei erstellen können.

Sobald das geschehen war, hatten wir einen erfolgreichen Build in dem es erstellt die _PublishedWebsites\Zzz Ordner und bereitgestellt an unseren Webserver ... endlich!

2

Wenn Ihre Buildprozessvorlage aus einer früheren TFS-Version stammt, müssen Sie möglicherweise Ihre Vorlage bearbeiten und eine MSBuild-Aktivitätseigenschaft ändern.

Wenn Ihr Build-Server ausgeführt wird:

Visual Studio Team Foundation Server 2013: Stellen Sie die MSBuild Aktivität ToolVersion Eigenschaft auf 12,0

Visual Studio Team Foundation Server 2012: Stellen Sie die MSBuild ToolPath Eigenschaft auf dem Weg zu Der Pfad zu MSBuild 12. In vielen Fällen ist dieser Pfad entweder C: \ Programme (x86) \ MSBuild \ 12.0 \ Bin \ (32-Bit) oder C: \ Programme (x86) \ MSBuild \ 12.0 \ Bin \ amd64 (64-Bit). Sie müssen Visual Studio 2013 auch auf dem Build-Agent installieren.

MSDN Source

+0

Wir verwenden ** TFS2010 **. Die ** MSBuild ToolVersion ** -Eigenschaft wird im Abschnitt ** Process der Builddefinition nicht angezeigt. Auf der ** MSBuild Arguments ** -Eigenschaft habe ich die '/ tv: 12.0' und es läuft immer noch die' MSBuild.exe' aus dem 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319' Verzeichnis. –

+0

Wie ist die MSBUILD-Plattform-Eigenschaft festgelegt? – Isaiah4110

+0

'Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto' welches dann den Log In Diagnosemodus' X86' anzeigt. –

0

Wenn Sie eine neue Build-Warteschlange gesetzt, eine private Ablageort unter der Registerkarte Parameter