2013-09-27 151 views
30

Tôi đã sử dụng VS 2010 và VS2008. Khi tôi sử dụng chúng với các dự án WCF Service của tôi, các tệp .PDB của tôi luôn được sao chép khi tôi đã tạo một Trang Web Xuất bản. Bây giờ, với VS2012, không có tệp PDB nào được sao chép khi tôi làm một trang web xuất bản. Các tệp PDB ĐƯỢC tạo ra cho cả Debug và Release nhưng không có gì xảy ra khi tôi làm một trang Web xuất bản (cho Debug hoặc Release).Visual Studio 2012 Website Xuất bản Không Sao chép các tệp .pdb

Tôi đã tìm kiếm diễn đàn này (và Internet). Giải pháp của tôi như sau: 1) Dự án Thư viện Dịch vụ WCF. 2) Trang web của WCF Service

Khi lần đầu tiên xuất bản, tôi phải tạo một hồ sơ và tôi đã làm điều này.

Khi tôi nhấp chuột phải vào dự án Thư viện dịch vụ WCF và chọn thuộc tính, tôi chỉ nhận các tab cho ứng dụng, xây dựng, tạo sự kiện, gỡ lỗi, tài nguyên, dịch vụ, cài đặt, đường dẫn tham chiếu, ký, tùy chọn WCF, phân tích mã. Tôi KHÔNG nhận được các tab cho Gói/Xuất bản Web và các mục khác mà tôi đã sử dụng để nhận. Tôi đã cố gắng nhấp chuột phải vào dự án trang web dịch vụ WCF của tôi và không có gì trong các trang thuộc tính để chỉ ra điều này.

Tôi thậm chí đã cố gắng thêm các mục vào tệp .pubxml của tôi và không hoạt động.

Tôi không nghĩ mình cần cập nhật các tùy chọn Gỡ lỗi để chỉ định vị trí Biểu tượng. Tôi nghĩ rằng việc xuất bản của tôi chỉ nên "làm điều đó" giống như trong năm 2008 và 2010. Bạn có lời khuyên nào không?

Cảm ơn trước.

Trả lời

54

Trong xuất bản trang web VS2012, các ký hiệu luôn bị loại trừ theo mặc định. Tại sao? Nó đi xuống đến một vấn đề thiết kế, nơi các dự án trang web không thực sự có một cấu hình xây dựng. Nếu bạn nhìn vào trình quản lý cấu hình trong VS khi giải pháp của bạn đang ở chế độ Phát hành, dự án trang web sẽ luôn ở chế độ Gỡ lỗi; Không còn lựa chọn nào khác. Điều này là do các dự án trang web không dựa trên MSBuild, và do đó không tôn trọng cấu hình MSBuild.

Thay vào đó, bạn có thể chỉnh sửa tệp .pubxml của bạn để cho nó bao gồm các biểu tượng. Thử thêm này:

<PropertyGroup> 
    <ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol> 
</PropertyGroup> 
+0

này làm việc. Tôi thấy điều này trong một chủ đề khác nhưng khi tôi thử nó, VS 2012 cho biết nó không phải là một phần tử được hỗ trợ cho phần . Tôi đã không gặp lỗi nhưng kiểu hỗ trợ trước đã không cho phép tùy chọn này. Gần nhất tôi có thể tìm thấy là hoặc nhưng chúng không hoạt động. Dù sao, tôi chỉ cần gõ nó trong mặc dù VS đã cho tôi lỗi và điều này làm việc. Tôi thực sự muốn Microsoft sẽ tài liệu này tốt hơn. – user2823892

+2

Điều này cũng có thể được thực hiện dưới tab dự án 'Gói/Xuất bản Web' (VS2013 và VB.NET, xác minh havent C# hoặc VS2012.) – Peter

+0

Cảm ơn bạn rất nhiều! –

13

Đối với tôi đây làm việc (trong hồ sơ cá nhân xuất bản):

<PropertyGroup> 
    ... 
    <DebugSymbols>True</DebugSymbols> 
</PropertyGroup> 

Hoặc sử dụng thuật sĩ xuất bản:

enter image description here

+1

Tôi đã thử gần như tất cả các đề xuất khác nhưng điều này giải quyết được vấn đề của tôi. Cảm ơn nhiều. – hakan

+0

Tùy chọn này vẫn hoạt động nếu bạn không muốn biên dịch trước? Tôi đã có vấn đề với tiền biên dịch trước, mặc dù tôi không thể nhớ chính xác những gì họ đang có bây giờ. Một cái gì đó để làm với Razor xem tôi nghĩ. – jocull