2011-12-22 11 views
96

Sau khi tải xuống Nant 0,91, tôi nhận được một số lỗi cấu hình khá khó hiểu liên quan đến cấu hình hoặc bảo mật (xem bên dưới).Làm cách nào để giải quyết lỗi cấu hình với Nant 0,91?

Tôi đang cố gắng nâng cấp các tệp thi Nant của mình từ 0,86 lên 0,91.

Làm cách nào để giải quyết các sự cố bên dưới khi xây dựng trên máy tính Windows 7?

log4net: ERROR XmlConfiguratorAttribute: Ngoại lệ nhận ConfigurationFileLocation. Phải có khả năng giải quyết ConfigurationFileLocation khi các thuộc tính ConfigFile và ConfigFileExtension không được thiết lập. System.Security.SecurityException: Yêu cầu cho phép loại 'System.Security.Permissions.FileIOPermission, mscorlib, Phiên bản = 4.0.0.0, Văn hóa = trung lập, PublicKeyToken = b77a5c561934e089' không thành công. tại System.Security.CodeAccessSecurityEngine.Check (nhu cầu Object, StackCrawlMark & stackMark, Boolean isPermSet) tại System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission nắp, StackCrawlMark & stackMark) tại System.Security.CodeAccessPermission.Demand() tại System.AppDomainSetup.VerifyDir (string dir, bình thường hóa Boolean) tại log4net.Util.SystemInfo.get_ConfigurationFileLocation() tại log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile (hội sourceAssembly, ILoggerRepository targetRepository)

Các hành động mà thất bại là: Nhu cầu Kiểu chữ e của phép đầu tiên mà thất bại là: System.Security.Permissions.FileIOPermission Các Zone của hội đồng rằng thất bại là: Internet

Unhandled Exception: System.Security.SecurityException: Yêu cầu ConfigurationPermission thất bại khi cố gắng truy cập phần cấu hình 'nant'. Để cho phép tất cả người gọi truy cập dữ liệu cho phần này, hãy đặt thuộc tính section 'requirePermission' bằng 'false' trong tệp cấu hình nơi phần này được khai báo. ---> System.Security.SecurityException: Yêu cầu cho phép loại 'System.Configuration.ConfigurationPermission, System.Configuration, Version = 4.0.0.0, Văn hóa = trung lập, PublicKeyToken = b03f5f7f11d50a3a' không thành công. tại System.Security.CodeAccessSecurityEngine.Check (nhu cầu Object, StackCrawlMark & stackMark, Boolean isPermSet) tại System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission nắp, StackCrawlMark & stackMark) tại System.Security.CodeAccessPermission.Demand() tại System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed (string Configkey, Boolean requirePermission, Boolean isTrustedWithoutAptca) --- End của nội ngoại lệ stack trace --- tại System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed (string Configkey, Boolean requirePermission, Boolean isTrustedWithoutAptca) tại System.Configuration.BaseConfigurationRecord.GetSectionRecursive (Chuỗi configKey, Boolean getLkg, Boo nghiêng checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object & kết quả, Object & resultRuntimeObject) tại System.Configuration.BaseConfigurationRecord.GetSection (String Configkey) tại System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (String sectionName) tại System.Configuration.ConfigurationManager.GetSection (String sectionName) tại NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework() tại NAnt.Console.ConsoleStub.Main (String [] args

(Câu trả lời là sắp tới, đăng như một câu hỏi để tham khảo ....)

+0

vẫn là vấn đề tương tự với ** NAnt 0.92 ** và ** Windows 8.1 **. Nhưng điều này là đáng mong đợi. Như có thể tìm thấy trong [bình luận khác] (https://stackoverflow.com/questions/8605122/how-do-i-resolve-configuration-errors-with-nant-0-91/8605149#comment51546943_8605149) cũng cho ** Windows 10 ** - có thẻ khác để thêm không? – Wolf

Trả lời

188

Lạ lùng thay, điều này có liên quan đến cách thức thực thi được chiết xuất từ ​​0,91 lưu trữ Nant. (Điều này không có ý nghĩa với tôi cho đến khi tôi thực sự đã thử nó, nhưng nó thực sự làm việc ...)

Nguồn: http://surfjungle.blogspot.com/2011/11/tip-running-nant-091-on-windows-7.html

tôi thấy rằng vấn đề là Windows 7 bảo mật liên quan trong đó Nant tải 0.91 tệp zip nee ded bổ sung cấu hình bảo mật liên quan được thực hiện: trước khi giải nén, người ta phải kích chuột phải vào file zip, chọn Properties và dưới tab General, nhấn nút có nhãn Unblock, sau đó nhấn OK trên cửa sổ Properties. Bây giờ, giải nén các tập tin đến vị trí mong muốn của bạn, đảm bảo nó là trên đường dẫn hệ thống, mở một dòng lệnh mới và NAnt nên chạy thành công.

+1

Ngoài ra, lưu tệp .zip đã tải xuống vào máy tính cục bộ của bạn và sau đó bỏ chặn nó, tiếp theo là Trích xuất. Tôi đã thử điều này trong khi các tập tin đã được lưu trên một mạng chia sẻ và Windows freaked như thể nó đã không được bỏ cấm. #ProTip –

+0

Trong trường hợp ai đó đang tự hỏi giải pháp này cũng hoạt động cho Windows 10 –

+1

Khác (dịch) kỳ quặc: bằng tiếng Đức, nút được dán nhãn * 'Zulassen' * – Wolf

8

Tôi cũng gặp vấn đề này, tuy nhiên tab Thuộc tính/Chung của tôi không chứa nút bỏ chặn. (Tôi không chắc chắn tại sao; có vẻ như đây là khả năng liên quan đến thực tế là tôi đang chạy bên trong máy ảo VMWare Fusion.)

Sự cố này có vẻ biến mất nếu tôi sử dụng thứ gì đó bên cạnh Windows được tích hợp sẵn Trình giải nén ZIP để giải nén tệp. Ví dụ, tôi đã sử dụng 7-Zip để giải nén lưu trữ và mọi thứ hoạt động tốt.

+0

Tuyệt đối! Nhưng ngay cả khi bạn chủ yếu sử dụng 7-Zip để nén, đôi khi rất khó để nhấn đúng mục trình đơn ngữ cảnh khi giải nén, vì tùy chọn tích hợp sẵn ** để thu hút **;) – Wolf