2013-09-26 33 views
14

Tôi có PostSharp được bao gồm trong tất cả các dự án của mình, theo các phương pháp hay nhất được đề xuất cho PostSharp. Tuy nhiên, tôi không có bất kỳ khía cạnh nào hoặc các biến đổi khác trong một số hội đồng này; họ chỉ tham khảo các dự án khác mà làm có các khía cạnh được sử dụng.Im lặng cảnh báo PostSharp khi xây dựng mà không bỏ qua PostSharp

Tại thời gian xây dựng, tôi nhận được cảnh báo sau đây:

Mô đun 'xxxxxxx.dll' không chứa bất kỳ khía cạnh hoặc chuyển đổi khác. Để cải thiện hiệu suất thời gian xây dựng, hãy xem xét tắt PostSharp cho mô-đun này bằng cách đặt biểu tượng biên dịch (aka hằng số) 'SkipPostSharp' trong dự án của bạn hoặc đặt thuộc tính MSBuild 'SkipPostSharp = True'.

Cảm ơn thông tin, PostSharp! Nhưng tôi đã "coi tắt PostSharp cho mô-đun này" và quyết định không làm như vậy. Tôi hoàn toàn hạnh phúc khi mất một chút hiệu suất thời gian xây dựng, để đổi lấy việc không phải suy nghĩ về nó sau này khi tôi quyết định sử dụng PostSharp trong một dự án trước đây không có khía cạnh nào.

Làm cách nào để PostSharp ngừng nói cho tôi biết về gợi ý này và không bật SkipPostSharp?

Trả lời

13

Trong thuộc tính dự án của bạn dưới tab PostSharp có một mục dòng "Tin nhắn Disabled (dấu chấm phẩy tách ra danh sách)"

Trong lĩnh vực đó nhập mã cho thông điệp cụ thể. Tôi không hoàn toàn chắc chắn nó là gì nhưng hãy thử PS0121

Ngoài ra, nếu bạn chỉnh sửa tệp dự án của mình "* .csproj", bạn có thể thêm phần tử PostSharpDisableMessages vào Nhóm thuộc tính của bạn cho các cấu hình có thể áp dụng như được hiển thị bên dưới.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    <OutputPath>bin\Debug\</OutputPath> 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> 
    <PostSharpDisabledMessages>PS0131;PS0121</PostSharpDisabledMessages> 
    </PropertyGroup> 
+3

Đó là PS0131, nhưng THANK YOU !! Tôi không biết phần cảnh báo bị vô hiệu hóa này đã tồn tại. –

+0

Tôi thu thập bạn phải cài đặt thêm thứ gì đó để xem "tab PostSharp"? Chúng tôi sử dụng nó mà không cần cài đặt bất cứ thứ gì trên máy khách và vì vậy tôi không thấy bất kỳ tab nào như vậy. Tôi không cho rằng có một cách để làm điều đó mà không có điều này? – PandaWood

+0

Bạn cần cài đặt công cụ PostSharp cho Visual Studio để xem tab PostSharp trong cửa sổ thuộc tính dự án. Nó có sẵn tại https://www.postsharp.net/download. –

3

Bạn có thể yên tĩnh xuống những cảnh báo từ tất cả các dự án trong giải pháp của bạn bằng cách thêm một tập tin vào thư mục giải pháp gọi là PostSharp.Custom.targets với nội dung:

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <PostSharpDisabledMessages>LA0156;PS0131</PostSharpDisabledMessages> 
    </PropertyGroup> 
</Project> 

đâu LA0156;PS0131 là danh sách dấu chấm phẩy phân các cảnh báo bạn muốn tắt.

Cụ PS0131 vô hiệu hóa

Dự án 'tên < lắp ráp >' không chứa bất kỳ khía cạnh hoặc chuyển đổi khác. Bạn có thể vô hiệu hóa PostSharp cho dự án này bằng cách chỉnh sửa các thuộc tính của dự án trong Visual Studio. Nhớ bật lại PostSharp nếu bạn thêm một khía cạnh cho dự án này.

LA0156 vô hiệu hóa

Thiếu lưu thông tin vào loại khía cạnh "< đầy đủ loại tên >" mã. Số liệu lưu mã sẽ không chính xác. Thêm [LinesOfCodeAvoided] vào lớp khía cạnh hoặc chỉ định thuộc tính LinesOfCodeAvoided của thuộc tính tùy chỉnh lời khuyên hoặc bỏ qua cảnh báo LA0156.

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