2010-11-30 5 views
1

In einem Programm, das ich mit einem Freund schreibe, erhalten wir diese Warnung: CA2109. Nach dem Blick auf die MSDN war ich ziemlich verwirrt, wenn dies etwas ist, worüber ich besorgt sein muss oder nicht.CA2109 - ignorieren oder nicht ignorieren - das ist die Frage

MSDN VS2008: http://msdn.microsoft.com/en-us/library/ms182312(v=VS.90).aspx

MSDN VS2010: http://msdn.microsoft.com/en-us/library/ms182312.aspx

Der Unterschied zwischen diesen zwei Versionen ist diese Sektion, die aus dem VS2008 MSDN genommen wird, aber existiert nicht in der VS2010 MSDN:

Hinweis Diese Regel gilt nur für Versionen der vor .NET Framework Version 2.0. Sie können diese Warnung in .NET Framework Version 2.0 und allen späteren Versionen unterdrücken. In diesen späteren Versionen stellt die Laufzeitumgebung automatisch sicher, dass der Ersteller des Delegaten während eines Stackwalks für eine Sicherheitsanforderung im Callstack ist.

Irgendwelche Vorschläge?

EDIT: Nur nach dem Lesen DGH Antwort zu klären - Wie in der Anmerkung in MSDN2008 beschrieben kann ich es ignorieren, weil der Compiler damit befasst ist. Meine Frage ist, was in VS2010 passiert, wo dieser Hinweis nicht existiert.

Antwort

0

Es ist ein potenzielles Sicherheitsproblem. Wenn der Code noch kompiliert und ausgeführt wird (welche Warnungen sollten nicht verhindern), dann können Sie sicherlich ignorieren und weitermachen. Wenn Sie jedoch das höchstmögliche Sicherheitsniveau für Ihr Programm wünschen, sollten Sie dieses Problem möglicherweise in Betracht ziehen, wie von diesen MSDN-Artikeln empfohlen.

+0

Ich glaube nicht, dass Sie mit Ihrer Antwort 100% korrekt sind. Wie in der Anmerkung in MSDN2008 beschrieben, kann ich es ignorieren, weil der Compiler damit befasst ist. Meine Frage ist, was in VS2010 passiert, wo dieser Hinweis nicht existiert. –