NAnt Builds Failing auf Windows Server 2008, nachdem ASP.NET 2.0 SDK Installation

StackOverflow https://stackoverflow.com/questions/635224

  •  10-07-2019
  •  | 
  •  

Frage

Ich bin mit Teamcity einen meiner Projekte zu verwalten aber es ist nicht mit Nant auf Windows Server arbeitete gut zu sein scheint 2008. Was kann ich dieses Problem beheben?

Vor der Installation des ASP.NET 2.0 Framework SDK:

[10:21:07]: BUILD FAILED
[10:21:07]: Failed to initialize the 'Microsoft .NET Framework 2.0' (net-2.0) target framework.
[10:21:07]:     Property evaluation failed.
[10:21:07]: Expression: ${path::combine(sdkInstallRoot, 'bin')}
[10:21:07]:                             ^^^^^^^^^^^^^^
[10:21:07]:         Property 'sdkInstallRoot' has not been set.

NACH:

[11:48:16]: Target framework: Microsoft .NET Framework 2.0
[11:48:16]: Target(s) specified: test 
[11:48:16]:  [property] Target framework changed to "Microsoft .NET Framework 3.5".
[11:48:16]: BUILD FAILED
[11:48:16]: INTERNAL ERROR
[11:48:16]: System.NullReferenceException: Object reference not set to an instance of an object.
[11:48:16]:    at NAnt.Core.FrameworkInfo.get_Version()
[11:48:16]:    at NAnt.Core.Project.UpdateTargetFrameworkProperties()
[11:48:16]:    at NAnt.Core.Tasks.PropertyTask.ExecuteTask()
[11:48:16]:    at NAnt.Core.Task.Execute()
[11:48:16]:    at NAnt.Core.Project.InitializeProjectDocument(XmlDocument doc)
[11:48:16]:    at NAnt.Core.Project.Execute()
[11:48:16]:    at NAnt.Core.Project.Run()
[11:48:16]: Please send bug report to nant-developers@lists.sourceforge.net.
[11:48:16]: Total time: 0.1 seconds.
[11:48:16]: Process exited with code 1
[11:48:16]: Build finished
War es hilfreich?

Lösung

Ein paar Dinge, die dadurch entstehen.

  1. Sie haben nicht die volle .NET 2.0 SDK installiert ist.
  2. Sie fehlen einige Registrierungsschlüssel. Wenn Sie in der Registrierung von aussehen sagt eine Windows XP / Vista-Maschine und die Suche nach dem sdkInstallRoot Sie wahrscheinlich finden. Dann einfach den Code auf den Server repliziert werden.

Allerdings, um sicherzustellen, dass Sie .NET Framework SDKs @ dest nur auf die C gehen installiert haben: \ windows \ Microsoft.net Ordner und gehen Sie auf die Version, die Sie innerhalb brauchen und suchen, um zu versuchen und finden Sie sagen, die csc.exe oder vbc.exe Programme. Wenn Sie sie nicht finden können, dann haben Sie nicht das SDK installiert, aber mehr als wahrscheinlich haben die Common Language Runtime installiert ist.

Geben Sie

, dass ein zu gehen und sehen, ob das hilft.

Andere Tipps

  1. Es erfordert .net 3.5 Eintrag in dem "Frameworks" Abschnitt.

  2. Stellt sicher, dass der Sdkinstallroot der Version 3.5 im Abschnitt ist wie folgt, die die Ursache für dieses Problem ist -
    <readregistry property="sdkInstallRoot" key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools\InstallationFolder" hive="LocalMachine" failonerror="false" />

Hope, das hilft!

Wenn Nant Verwendung mit einem Windows Server 2003 64-Bit-Server hatte ich ein Nightly Build zum Download als Nant 0.86 beta 1 64-Bit-Ausgaben hat. Ich habe es zu arbeiten, aber ich bin nicht sicher, ob es mit Windows Server arbeitet 2008 Nant haben immer in der Beta gewesen. Wenn Sie eine nächtliche Nant versuchen bauen stecken, wenn nicht ich MSBuild für .Net empfehlen 2+ und 64-Bit-Maschinen.

Für mehr Informationen zu diesem Artikel MsBuild vs Nant .

Ich habe in ähnliche Probleme mit NAnt laufen. Ich weiß, das ist nicht die Best Lösung, aber es ist eine, die funktioniert, wenn Sie Ihr Projekt in Fahrt müssen.

Ich habe festgestellt, dass eine Entwicklungsumgebung Installation (C # Express nicht für mich arbeiten, aber VS 2008 tat) auf dem Server macht dieses Problem weggehen. (Ja, ich weiß, das geht gegen normales Best Practices, aber es funktioniert und läßt meine Skripte laufen, so kann ich Codierung zurück.)

Just dachte, ich würde Aktie Incase jemand anderes in einer ähnlichen Situation ist .. (das hat für mich sowohl mit CruiseControl.Net und mit Hudson gearbeitet).

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