2012-07-09 39 views
5

Môi trường:Nant 0,92 SDK 7 không tìm thấy

Windows 2008 R2 64Bit SDK lắp đặt tại C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1

Khung lắp đặt tại C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319

Cố gắng chạy Nant để biên dịch một số lớp .NET 4 và chúng tôi đang nhận được thông báo sau.

The SDK for the 'net-4.0' framework is not available or not configured.: 

      NAnt.Core.BuildException: The SDK for the 'net-4.0' 
framework is not available or not configured. 
       at NAnt.Core.Tasks.ExternalProgramBase.DetermineFilePath() 
       at NAnt.Core.Tasks.ExternalProgramBase.get_ProgramFileName() 
       at 
NAnt.Core.Tasks.ExternalProgramBase.PrepareProcess(Process process) 
       at NAnt.Core.Tasks.ExternalProgramBase.StartProcess() 
       at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask() 
       at NAnt.Core.Task.Execute() 
       at NAnt.Core.Target.Execute() 
       at NAnt.Core.Project.Execute(String targetName, Boolean 
forceDependencies) 
       at NAnt.Core.Project.Execute() 
       at NAnt.Core.Project.Run() 

Trong cách nhìn vào NANt.exe.config có thể thấy rằng nó trông giống với registry để tìm ra con đường áp dụng cho SDK.

<project> 
<readregistry 
    property="installRoot" 
     key="SOFTWARE\Microsoft\.NETFramework\InstallRoot" 
     hive="LocalMachine" /> 
<locatesdk property="sdkInstallRoot" 
minwinsdkver="v7.0A" minnetfxver="4.0" maxnetfxver="4.0.99999" 
failonerror="false" /> 
</project> 

Chìa khóa không tồn tại trong registry cũng không phiên bản SDK của chúng tôi phù hợp với minwinsdkver = "v7.0A"

Bất cứ ai chạy vào vấn đề này và tìm thấy một giá trị công việc xung quanh?

+0

Nếu các khóa registry không ở đó, mà không phải là nhiều của một vấn đề cài đặt SDK hơn Nant? –

+0

Trên máy 64 bit, 7.1 SDK của tôi được cài đặt tại: C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 (không phải tại Program Files (x86)) có thể đó là vấn đề? –

Trả lời

1

Giải pháp đơn giản nhất là thêm khóa vào sổ đăng ký.

Đối với bản thân, mục nhập sổ đăng ký hơi khác: tại HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework set sdkInstallRootv2.0 = C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A.

Sau khi Nant biên soạn tốt như mong đợi.

0

Tôi đã gặp sự cố này ngày hôm qua. Cách giải quyết khác là đánh dấu tệp thực thi NAnt là 32 bit.

  1. mở một Command Prompt Developer
  2. Chuyển tới thư mục chứa thực thi Nant của bạn.
  3. Chạy lệnh sau: CorFlags NAnt.exe/32Bit +
Các vấn đề liên quan