2012-04-19 29 views
9

Tôi sử dụng msbuild để biên dịch một giải pháp Visual Studio 2010 và cần xây dựng thành công mà không có bất kỳ lỗi nào.Làm thế nào để thoát khỏi "lỗi BSCMAKE BK1500: Lỗi nội bộ" biên dịch lỗi

Nhưng mỗi khi tôi chạy msbuild/rebuild (hoặc dọn dẹp và biên dịch giải pháp trực tiếp bằng Visual Studio), tôi nhận được một số lỗi bscmake như thế này (đôi khi lỗi biến mất khi biên dịch lại mà không làm sạch, nhưng nó không phải là giải pháp tốt với tôi để chạy msbuild hai lần):

[...] 
10> Generating Code... 
11> xxxxxxxx\mshtml.tlh(63588): warning BK4504: file contains too many references; ignoring further references from this source 
11> 
11>BSCMAKE : error BK1500: Internal error 
11> 
11> Version 10.00.30319.01 
11> 
11> ExceptionCode   = C0000005 
11> ExceptionFlags   = 00000000 
11> ExceptionAddress   = 001343DA (00130000) "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\bscmake.exe" 
11> NumberParameters   = 00000002 
11> ExceptionInformation[ 0] = 00000000 
11> ExceptionInformation[ 1] = 00000000 
11> 
11> CONTEXT: 
11> Eax = 00141B30 Esp = 003CF1C0 
11> Ebx = 04B142C6 Ebp = 003CF770 
11> Ecx = 04BB621C Esi = 00000006 
11> Edx = 00000000 Edi = 00000001 
11> Eip = 001343DA EFlags = 00010293 
11> SegCs = 00000023 SegDs = 0000002B 
11> SegSs = 0000002B SegEs = 0000002B 
11> SegFs = 00000053 SegGs = 0000002B 
11> Dr0 = 00000000 Dr3 = 00000000 
11> Dr1 = 00000000 Dr6 = 00000000 
11> Dr2 = 00000000 Dr7 = 00000000 

[...] 

Vấn đề là tôi không cần thông tin duyệt để phát hành và không muốn thông báo lỗi này xảy ra (có khả năng ẩn các lỗi như những điều này với stuido trực quan 2008, nhưng tôi nghĩ rằng các param trình biên dịch không còn có sẵn).

Làm cách nào để ẩn các lỗi bscmake?

Tôi có thể tắt bscmake (đối với các phiên bản phát hành) không?

+7

Chỉ cần tắt tùy chọn này, dù sao thì hoàn toàn vô dụng những ngày này. C/C++, Duyệt thông tin, Bật = Không. –

+1

Đồng ý duyệt thông tin là không bắt buộc và có thể gây ra lỗi xây dựng khi giải pháp của bạn cố gắng viết các tệp duyệt, nó cũng thêm thời gian xây dựng để tôi tắt nó – EdChum

+1

@HansPassant: Bạn có thể cung cấp thêm thông tin không? Bạn nói "nó là hoàn toàn vô dụng những ngày này anyway" - vì vậy những gì hoàn thành chức năng tương tự bây giờ? – PJTraill

Trả lời

14

Theo Hans Passants bình luận:

enter image description here

Thank của!

+4

Ngoài "Bật thông tin duyệt" trên cơ sở từng dự án, có một tùy chọn "Bật thông tin duyệt" trên mỗi tệp nguồn của bạn. Nếu CL.EXE vẫn tạo các tệp .SBR, hãy đặt thuộc tính đó thành "Không" trong phần thích hợp cho từng tệp nguồn. Tùy chọn này có thể được đặt trong khi chuyển đổi từ Dự án Visual Studio cũ hơn. – Devin

+1

Bạn có thể cung cấp thêm thông tin? Hans Passant nói "nó hoàn toàn vô ích những ngày này anyway" - vì vậy những gì hoàn thành chức năng tương tự bây giờ? – PJTraill

+0

Tôi nghĩ giải pháp được đề xuất đã giải quyết được vấn đề cho tôi. Cảm ơn! – sergiol

0

Một nguyên nhân của việc này là có tệp .cpp được biên dịch với/clr trong một dự án có đầu ra của một lib tĩnh. Loại bỏ/clr khỏi tập tin hoặc thay đổi dự án để xuất ra một dll.

Các vấn đề liên quan