2014-05-12 28 views
5

我正在使用一個同時使用C++和c#的項目。我一直在進行大量混亂的集成工作,並且一直在大量使用#pragma消息來調出那些功能不全的代碼(由於集成而破壞)。這是一個非常好的方式來混淆構建日誌,因此很容易找到需要修復的事情。問題是我找不到任何對c#有同樣作用的東西。是否有與#pragma消息相媲美的東西?

我不想使用過時的屬性,那根本不是我要找的。我嘗試了#warn,但這只是產生了一個「警告錯誤」,這使構建失敗。再次,不是我正在尋找的東西(如果我想讓構建失敗,我可以使用#error ...)。

現在我只是將我的信息放在可以搜索的註釋中,但這需要一些關於尋找什麼的知識以及尋找它的動機。使用構建日誌中的自定義消息調用問題更加可取,因爲它很難忽略!

我的研究讓我相信沒有辦法做我想做的事,但我想看看你的專家是否同意我的觀點。 :)

+0

微軟希望您做的事情是爲您以後想要觸摸的所有內容創建Team Foundation Server項目。我不知道是否有辦法直接在代碼中執行它,對不起。 – rumtscho

+1

像@ LB2說的,'#warning'有什麼問題。對我來說,確實如此,發出警告;沒有失敗的構建。 – MicroVirus

+0

#警告不會使構建失敗。它只在構建過程中產生警告。 –

回答

1

#warning正是你想要的:產生一個編譯警告。這不會使構建失敗。

也許您已啓用設置將警告視爲錯誤?該設置可以在您的項目配置|上找到生成選項卡。

+0

問題是,當您收到其他人的項目超過一千個警告時,您的用戶定義警告將不會執行此項工作。 – Szybki

+2

@Szybki如果你在C#中得到很多警告,那麼你可能會遇到更大的問題。此外,警告有警告你,所以如果你因爲金額而開始錯過警告,那麼任何警告都是無用的,不僅僅是用戶#pragma警告,而且還有更大的問題。 – MicroVirus

6

我通常使用下面的代碼:

#warning //Todo Finish this method by.... 

#warning不必被視爲一個錯誤,它是在項目配置中的每個項目配置|構建標籤:

enter image description here

隨着警告生成日誌描述應該如下所示:

enter image description here

此外,//Todo註釋將說明添加到內置任務列表,它允許您區分編譯器警告和用戶設置的編譯器警告:

enter image description here

相關問題