2009-03-11 14 views
2

Projelerimden birini yönetmek için TeamCity kullanıyorum ancak Windows Server 2008'de Nant ile iyi çalışmıyor gibi görünüyor. bunu tamir et? ASP.NET 2.0 Framework SDK yükleme ÖNCENAnt, Windows Server 2008'de ASP.NET 2.0 SDK'sını yükledikten sonra başarısız oluyor.

:

[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. 

SONRA:

[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 [email protected] 
[11:48:16]: Total time: 0.1 seconds. 
[11:48:16]: Process exited with code 1 
[11:48:16]: Build finished 
+0

NAnt komut dosyasında bir göz atabilir miyiz? –

cevap

1

bu durumun yaratacağı şeylerin bir çift.

  1. Tam .Net 2.0 SDK yüklü değil.
  2. Bazı kayıt defteri anahtarlarınız eksik. Eğer bir windows xp/vista makinesi kayıt defterine bakarsanız ve sdkInstallRoot için arama yaparsanız muhtemelen bulabilirsiniz. Bu sadece kodu sunucunuza kopyalayın. csc söylemek denemek ve bulmak için \ Microsoft.net klasör \ pencereleri ve ihtiyacınız sürüme gitmek ve içinde arama: Ancak

azından sadece C gidin @ sen .net framework SDK'lar yüklü olduğunu doğrulamak için .exe veya vbc.exe programları. Bunları bulamıyorsanız, SDK'nın yüklü değil, ancak çalışma zamanının yüklü olması daha olasıdır.

Git ve yardım edip edemeyeceğini görün.

0

Windows Server 2003 64 bit sunuculu Nant kullanıldığında, Nant 0.86 beta 1'in 64 bitlik sorunları olduğu için gece derlemesini indirmem gerekiyordu. Çalışmasını aldım ama Windows Server 2008 ile çalışıp çalışmayacağından emin değilim. Nant her zamankinden daha fazla beta olmuştur. Eğer Nant'a takılırsanız, MSBuild'i .Net 2+ ve 64 bit makineler için tavsiye etmiyorsam, bir gece inşa etmeyi deneyin. Ben NAnt ile benzer sorunları çalıştırmak MsBuild vs. Nant

0

fazla bilgi için bu makaleye göz atın. Bunun En İyi çözümü olmadığını biliyorum, ancak projenizi hareket ettirmeniz gerekiyorsa işe yarayan bir özellik.

Sunucuda bir geliştirme ortamı (C# Express benim için çalışmadı, ancak VS 2008 yaptı) yüklediğini fark ettim. (Evet, bunun normal en iyi uygulamalara aykırı olduğunu anlıyorum, ancak çalışır ve kodlarımın çalışmasına izin verir, böylece kodlamaya geri dönebilirim.)

Sadece bir başkasının benzer bir durumda olması durumunda paylaşacağımı düşündüm. Bu benim için hem CruiseControl.Net hem de Hudson ile çalıştı.

+0

Buna geri döndüm. Daha iyi bir çözüm, 2.0 SDK'yı kurmaktır. Bu, daha yüksek bir sürümde (3.5 SDK'm vardı) bile yüklenmiş gibi görünüyor. –

2
  1. "frameworks" bölümünde .net 3.5 girişi gerektirir. Bu yardımcı olur
    <readregistry property="sdkInstallRoot" key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools\InstallationFolder" hive="LocalMachine" failonerror="false" />

Umut -

  • şöyle bölümünde 3.5 sürümünün Sdkinstallroot bu sorunun temel nedeni olan olmasını sağlar!

  • İlgili konular