2016-03-22 17 views
0

Ich habe einfach WebAPI Projekt: enter image description hereTFS baut nicht mit WebAPI Projekt baut

Dann überprüfte ich TFS in und aus irgendeinem Grunde sauber Projekt nicht mit msbuild auf TFS bauen.

Fehler Ich erhalte sind folgende: http://pastebin.com/ZPBEFcPN

Pakete Inhalt:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Antlr" version="3.4.1.9004" targetFramework="net452" /> 
    <package id="bootstrap" version="3.0.0" targetFramework="net452" /> 
    <package id="EntityFramework" version="6.1.3" targetFramework="net452" /> 
    <package id="jQuery" version="1.10.2" targetFramework="net452" /> 
    <package id="jQuery.Validation" version="1.11.1" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="1.2.0" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.DependencyCollector" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.JavaScript" version="0.15.0-build58334" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.Web" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.WindowsServer" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="1.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net452" /> 
    <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" /> 
    <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net452" /> 
    <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net452" developmentDependency="true" /> 
    <package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.Facebook" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.Google" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.MicrosoftAccount" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Owin.Security.Twitter" version="3.0.1" targetFramework="net452" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" /> 
    <package id="Modernizr" version="2.6.2" targetFramework="net452" /> 
    <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net452" /> 
    <package id="Owin" version="1.0" targetFramework="net452" /> 
    <package id="Respond" version="1.2.0" targetFramework="net452" /> 
    <package id="WebGrease" version="1.5.2" targetFramework="net452" /> 
</packages> 

Csproj Inhalt: http://pastebin.com/VR2iXs2A

Dies ist ein Projekt von Grund auf neu gemacht ist, nichts hinzugefügt.

+0

Sie müssen den Inhalt Ihrer .csproj-Dateien veröffentlichen. Und von Ihrer "packages.config", wenn Sie welche haben. – granadaCoder

Antwort

0

Aus irgendeinem Grund, den ich zu aktivieren vergessen, auf Build-Schritt-Option "Nuget Pakete Restore" .. nicht fragen .. enter image description here

Nur richtige Art und Weise zu erwähnen Pakete wie pro v2 wiederherstellen .7+ ist das Hinzufügen des Nuget Installer-Schritts vor dem Erstellungsschritt: enter image description here

+0

Nein. Http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html "Auf die alte Weise, klicken Sie mit der rechten Maustaste auf Ihre Lösung in VS und wählen Sie Paket aktivieren Wiederherstellen. Dies bewirkt, dass VS Ihre csproj-Dateien ändert und einen .nuget-Ordner erstellt, der nuget.exe und einige andere Dateien enthält. " Befolge die Schritte in seinem Blog .... und wenn das nicht "automatisch funktioniert", dann lege die Kommandozeilen-Wiederherstellungsmethode von meiner Antwort ab. – granadaCoder

0

Wenn Sie die MVC Nuget-Pakete verwenden, sollten Sie die Nuget-Wiederherstellung aktivieren.

Wenn Sie nicht die Nuget-Pakete verwenden, müssen Sie die Bin-deployed MVC-Referenzen verwenden, indem Sie mit der rechten Maustaste auf das Projekt klicken und "Deployable Dependencies hinzufügen" auswählen.

enter image description here

+0

Nuget-Wiederherstellung ist auf Lösungsebene aktiviert –

1

Run

nuget.exe restore MySolution.sln 

oder

nuget.exe restore MyCsProj.csproj 

, bevor Sie die TFS bauen versuchen. Aka, auf der TFS-Maschine.

Dies ist die "neuere" Möglichkeit, Pakete wiederherzustellen.

Von

https://docs.nuget.org/consume/package-restore

Wichtig: Nuget Automatische Paket hat in Nuget geändert wiederherstellen 2.7+. Mischen Sie nicht "alte" und neue Methoden für die automatische Paketwiederherstellung. Weitere Informationen finden Sie weiter unten unter Allgemeine Probleme bei der automatischen Paketwiederherstellung.

Da Sie diese Box "überprüft" haben, müssen Sie möglicherweise diese Anweisungen befolgen.

https://docs.nuget.org/Consume/Package-Restore/Migrating-to-Automatic-Package-Restore

+0

Ich erhalte diesen Fehler: nuget.exe: Der Begriff 'nuget.exe' wird nicht als der Name eines Cmdlet, Funktion, Skriptdatei oder ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. –

+0

Sie müssen es installieren (per Download und legen Sie es irgendwo) auf dem TFS-Rechner.Und benutze den vollständigen Pfad. Beispiel: c: \ MyProgFiles \ Nuget \ v3.3.0 \ nuget.exe (Holen Sie es unter: https://dist.nuget.org/index.html) .... Führen Sie dann im Build-Skript den Befehl "c: \" aus. MyProgFiles \ Nuget \ v3.3.0 \ nuget.exe "MySolution.sln. Verwenden Sie nach Möglichkeit Makros anstelle von fest codierten Pfaden. – granadaCoder

+0

Bitte lesen Sie http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html sowie Tipps für den "neuen Weg" – granadaCoder