2012-02-14 33 views

Trả lời

144

Tiện ích Visual Studio có thể được gỡ lỗi giống như bất kỳ ứng dụng nào khác. Bạn chỉ cần thiết lập các kinh nghiệm gỡ lỗi để khởi chạy devenv với phần mở rộng đã tải. Hãy thử như sau

  • Nhấp chuột phải vào dự án và chọn Properties
  • Đến Debug Tab

Bấm vào nút radio cho Start External Program. Trỏ nó đến nhị phân devenv.exe. Trên máy tính của tôi nó nằm ở

C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe

trên một máy x64 không mặc dù bạn có thể loại bỏ các " (x86) "phần.

Sau đó, đặt đối số dòng lệnh thành /rootsuffix Exp. Điều này cho phép Visual Studio sử dụng tổ hợp thử nghiệm thay vì hive cấu hình thông thường. Theo mặc định, phần mở rộng VSIX khi được xây dựng sẽ tự đăng ký trong tổ hợp thử nghiệm.

Bây giờ bạn có thể F5 và nó sẽ bắt đầu Visual Studio với VSIX của bạn như là một phần mở rộng có sẵn.

+0

cảm ơn bạn đã trả lời câu hỏi này, đã giải quyết được vấn đề trong một lần truy cập. Nhiều nghĩa vụ! –

+0

@JaredPar - có cách nào để yêu cầu tiện ích mở rộng vs2012 đăng ký chính nó trong tổ chức thử nghiệm của bản xem trước vs2015 không? –

+0

Tôi đã làm điều này trong VS2015 và nó đã làm việc. – matthewpavkov

2

Phương thức OutputWindowHelper.OutputString ghi vào ngăn cửa sổ đầu ra 'Chung' (Ctrl Alt o). Tôi đã thêm dòng này vào tài liệu tham khảo .csproj của tôi để có được điều này trong VS 2013

<Reference Include="Microsoft.VisualStudio.Services.Integration, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 

Xem thêm this answer.

+0

Lưu ý OutputWindowHelper không tồn tại trong Visual Studio 2015. Một máy chỉ VS2015 sẽ ném một lỗi nếu điều này được gọi. Xem thêm https://github.com/landofjoe/NuspecPackager/issues/1 – Quango

38

Câu trả lời được chấp nhận bởi @JaredPar là chính xác về mặt kỹ thuật, nhưng thực tế là bạn cần làm lại nó cho mọi nhà phát triển, mỗi lần bạn nhận được một bản sao mới của mã và bất kỳ lúc nào tệp csproj.user bị xóa. Khi bạn làm theo cách đó, các cài đặt được lưu trong tệp csproj.user.

Tùy chọn tốt hơn là đặt cài đặt trong tệp csproj để chúng không bị mất. Thật không may, Visual Studio không cho phép bạn làm điều này tự động, vì vậy bạn cần phải tự thêm các thiết lập. May mắn thay, các thiết lập là như nhau cho bất kỳ dự án.

Nhấp chuột phải và hủy tải dự án, sau đó nhấp chuột phải một lần nữa và chỉnh sửa tệp tệp dự án csproj. Trong XML, thêm thông tin sau vào số PropertyGroup đầu tiên, ví dụ: ngay sau TargetFramework.

<StartAction>Program</StartAction> 
<StartProgram>$(DevEnvDir)\devenv.exe</StartProgram> 
<StartArguments>/rootsuffix Exp</StartArguments> 

Điều này có những ưu điểm sau;

  • Nó đặt nó lên để gỡ lỗi và phát hành
  • Nó chạy bất kỳ phiên bản của Visual Studio bạn hiện đang chạy
  • Nó sẽ được kiểm tra vào kiểm soát nguồn, vì vậy mỗi nhà phát triển không phải nhớ làm thế nào để làm nó :)

Như bang @MBulli trong các ý kiến, nếu bạn đã thực hiện những thay đổi trong câu trả lời được chấp nhận, xóa tập tin *.csproj.user của bạn bởi vì các thiết lập trong đó sẽ ghi đè lên những người bạn bổ sung vào csproj tập tin chính.

+3

Đảm bảo xóa tệp * .csproj.user vì cài đặt người dùng được ưu tiên hơn cài đặt dự án. – MBulli

+0

Câu trả lời hay, cảm ơn! Hiệu quả hơn nhiều so với chấp nhận. –

0

Nếu bạn cố gắng gỡ lỗi một UnitTestExtension, bạn cũng nên đính kèm trình gỡ lỗi vào vstest. *. Exe các quy trình như được giải mã là here. Nếu không, bạn có thể thấy điểm ngắt kích hoạt nhưng trình gỡ rối sẽ không bao giờ đánh vào nó.

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